使用.net MVC视图将csv或excel文件导入SQL Server 2005的最佳方法

5 csv asp.net-mvc excel sql-server-2005

我正在寻找使用.net MVC将csv或excel文件导入SQL Server 2005的最佳方法.

谢谢.

mar*_*c_s 3

有一个非常好的库,称为FileHelpers,它 a) 100% 免费,b) 完全用 C# 编写,它可以轻松导入任何类型的基于文本的文件 - 逗号分隔、制表符分隔、固定宽度等。

使用此方法将 CSV 文件加载到内存对象中并使用 ADO.NET 将它们存储在 SQL Server 中应该不会有任何问题。

在 FileHelpers 中,您首先需要有一个描述数据的类,例如“Customer”类(或您要导入的任何内容)。

然后,您可以使用如下代码导入文件:

FileHelperEngine<Customer> engine = new FileHelperEngine<Customer>();
Customer[] dataLoaded = engine.ReadFile(fileName);
Run Code Online (Sandbox Code Playgroud)

一旦您拥有了一组客户,您就可以迭代它并使用存储过程或即席 SQL 查询等保存数据(通常在事务内):

using(TransactionScope ts = new TransactionScope())
{
   foreach(Customer c in dataLoadad)
   {
      SaveCustomer(c);
   }

   ts.Complete();
}
Run Code Online (Sandbox Code Playgroud)

或者您可以将客户数组转换为 DataTable 并使用 SqlBulkCopy 将其批量插入到 SQL Server 数据库中 - 有很多选项!

更新:
你的班级有一个[DelimitedRecord]或另一个这些属性吗BlackListDevice