我正在寻找将CSV或Excel文件导入SQL Server 2005的最佳方法,使用.NET MVC。谢谢。
有一个非常好的库叫做FileHelpers,它是a) 100%免费的,b) 完全使用C#编写,可以轻松导入任何类型的基于文本的文件 - 逗号分隔、制表符分隔、固定宽度等等。
您可以毫不费力地使用它将CSV文件加载到内存对象中,并使用ADO.NET将其存储在SQL Server中。
在 FileHelpers 中,您首先需要有一个描述数据的类,例如“Customer”类(或者您要导入的任何内容)。
然后,您可以使用以下代码导入文件:
FileHelperEngine<Customer> engine = new FileHelperEngine<Customer>();
Customer[] dataLoaded = engine.ReadFile(fileName);
using(TransactionScope ts = new TransactionScope())
{
foreach(Customer c in dataLoadad)
{
SaveCustomer(c);
}
ts.Complete();
}
或者你可以将客户数组转换为DataTable,并使用SqlBulkCopy批量插入到SQL Server数据库中-有很多选项!
更新:
您的BlackListDevice
类上是否有[DelimitedRecord]
或其他属性?
[Property] public virtual string DeviceReference { get; set; } }
- user189009