我知道 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 产品,因此您不妨利用它们来满足您的需求,而不是尝试现有的开源产品。
叹息!!
除此之外,如果您真的想检查工具,那么我听说人们推荐这些工具(没有使用过其中任何一个):
- RelationalExcel但它不是免费的。
- ExpertXLS Excel Library for .NET - 这个不是免费的,但可以与 ASP.NET 一起使用。
- 这个blog似乎是对他尝试过的工具的一个很好的引用。
其他替代方案可能是:
- 使用 .NET 将 Excel 加载到数据集中并动态生成 SQL 查询,或者将其传递给执行繁重工作的 SQL Server sp
- 使用 VBA 解析 Excel,然后将其用作 ASP.NET 的数据源
关于c# - 在 ASP.NET (MVC) 中从 CSV/Excel 导入期间标准化数据的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806443/