c# - 在 ASP.NET (MVC) 中从 CSV/Excel 导入期间标准化数据的推荐方法是什么?

标签 c# asp.net asp.net-mvc data-import

我知道 Stack Overflow 上有上千个与数据导入相关的问题,如果已经在某个地方问过这个问题,请接受我的歉意,但我想知道是否有人可以提供任何经过尝试和测试的解决方案来标准化数据在 C#/ASP.NET MVC 3+ 中从 CSV/Excel 导入。

我可以编写一些代码来完成这项工作,但想知道是否有任何开源库或工具可以帮助解决这个问题。

我感兴趣的领域如下:

在导入数据时,我偶尔需要对某些字段进行规范化,下面是一个简单的示例:

我的输入可能是:

Name, JobTitle
==============
Nick, Manager
Dan,  Coder

我的表结构可能是

Name, JobTitleId
================
Nick, 1
Dan,  2

如果职位不存在,我希望在 JobTitles 表中创建它并返回 Id。如果确实存在,我想存储该 ID。

总而言之,我的问题是:

  • 我应该采取某种技术或方法来做到这一点吗?
  • 是否有任何开源/商业库可以处理这个问题 - 没有必要重新发明轮子

最佳答案

我应该采取某种技术或方法来做到这一点吗?
我能想到的最简单的技术是非 MVC 方式:使用 SSIS! 如果担心安全性,您可以让 ASP.NET 作为中间人来接受 Excel 文件并将其传递到数据库。有许多使用 Excel 连接管理器的教程。例如,Import Excel File 。 SSIS 为您提供了令人难以置信的灵活性,可以帮助您标准化数据。

是否有任何开源/商业库可以处理这个问题 - 没有必要重新发明轮子
由于您可能已经投资了 Visual Studio 和 SQL Server 等 Microsoft 产品,因此您不妨利用它们来满足您的需求,而不是尝试现有的开源产品。

叹息!!
除此之外,如果您真的想检查工具,那么我听说人们推荐这些工具(没有使用过其中任何一个):

  1. RelationalExcel但它不是免费的。
  2. ExpertXLS Excel Library for .NET - 这个不是免费的,但可以与 ASP.NET 一起使用。
  3. 这个blog似乎是对他尝试过的工具的一个很好的引用。

其他替代方案可能是:

  1. 使用 .NET 将 Excel 加载到数据集中并动态生成 SQL 查询,或者将其传递给执行繁重工作的 SQL Server sp
  2. 使用 VBA 解析 Excel,然后将其用作 ASP.NET 的数据源

关于c# - 在 ASP.NET (MVC) 中从 CSV/Excel 导入期间标准化数据的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806443/

相关文章:

c# - 防止 XSS 或其他东西的正则表达式?

asp.net-mvc - 如何让 ELMAH 与 ASP.NET MVC [HandleError] 属性一起使用?

c# - MVC 4 @Html.DropDownListFor() 没有将模型值传递给下拉列表

c# - 如何知道在发布时构建的 .net 进程中挂起的方法

c# - 使用 DataContractSerializer 时在集合中保留元素名称

c# - 屏幕截图捕获和显示

javascript - 无法从 RCL 引用静态文件

javascript - 在javascript中触发自动回发

c# - MS 图表控制量表 - 折线图显示 12 个月

c# - 返回列表,如果为空且计数 == 0。跳转到其他