在ASP.NET(MVC)中从CSV/Excel导入期间,建议使用什么方法规范化数据

本文关键字:什么 数据 规范化 方法 导入期 MVC NET ASP 中从 Excel CSV | 更新日期: 2023-09-27 18:28:36

我知道Stack Overflow上有一千个与数据导入相关的问题,如果已经有人问过这个问题,请接受我的歉意,但我想知道是否有人能在C#/ASP.NETMVC 3+中从CSV/Excel导入时,为规范化数据提供任何经过测试的解决方案。

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

我感兴趣的领域如下:

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

我的输入可能是:

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

我的表结构可能是

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

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

在sumamry,我的问题是:

  • 我应该采取什么技巧或方法来做到这一点
  • 有没有任何开源/商业库可以处理这个问题——重新发明轮子没有意义

在ASP.NET(MVC)中从CSV/Excel导入期间,建议使用什么方法规范化数据

我应该采取什么技术或方法来做到这一点吗
我能想到的最简单的技术是一种非MVC方式:使用SSIS!如果安全性有问题,可以让ASP.NET作为中间人来接受Excel文件并将其传递给数据库。有很多使用Excel连接管理器的教程。例如导入Excel文件。SSIS为您提供了难以置信的灵活性,这可能有助于您规范化数据。

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

叹气
除此之外,如果你真的想看看工具,那么我听说有人推荐这些工具(没有使用过):

  1. RelativalExcel,但它不是免费的
  2. ExpertXLS Excel Library for.NET-此库不是免费的,但可与ASP.NET配合使用
  3. 这个博客似乎很好地参考了他尝试过的工具

其他替代方案可能是:

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