5 csv asp.net-mvc excel sql-server-2005
我正在寻找使用.net MVC将csv或excel文件导入SQL Server 2005的最佳方法.
谢谢.
有一个非常好的库,称为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?