C# 从excel读取数据并保存在sql server DB c中的最佳方法#

C# 从excel读取数据并保存在sql server DB c中的最佳方法#,c#,excel,entity-framework,C#,Excel,Entity Framework,从excel读取数据并在sql server DB中更新的最佳方式是什么。 excel中的列名与DB中的列名不同 am目前正在使用Oledb驱动程序从excel和ef 5.0中读取数据以进行db操作 有更好的方法吗 excel包含近10万行有许多库可用于读取excel数据,如电子表格、NPOI、OLE DB等。 你可以任意选择我更喜欢OLE DB,您可以像与数据库交互一样与excel数据交互。 要将excel数据存储到数据库,可以使用SqlBulkCopyclass. 您可以将从excel文件读

从excel读取数据并在sql server DB中更新的最佳方式是什么。 excel中的列名与DB中的列名不同

am目前正在使用Oledb驱动程序从excel和ef 5.0中读取数据以进行db操作

有更好的方法吗


excel包含近10万行

有许多库可用于读取excel数据,如电子表格、NPOI、OLE DB等。 你可以任意选择
我更喜欢OLE DB,您可以像与数据库交互一样与excel数据交互。

要将excel数据存储到数据库,可以使用
SqlBulkCopy
class.
您可以将从excel文件读取的数据存储在
System.data.DataTable
中,然后使用
writeserver(DataTable)
方法。
或者,如果您有大型excel文件,您可以实现
IDataReader
接口并使用方法
WriteToServer(IDataReader)


WriteToServer(IDataReader)
在内存利用率方面是最佳选择。

您所说的“lac”是什么意思?自20世纪90年代版本7以来,SQL Server就包含SSI。实体框架与批量加载完全无关anyway@rshah4u副本的答案很糟糕-是否在服务器上安装Excel?或者在SQL Server已经包含一个ETL工具时安装另一个ETL工具?您还可以使用导入向导加载数据并保存SSIS包。即使未配置SSIS服务,也可以使用SQL Server代理计划运行该包。事实上,您可以在代码中加载包并执行它,如@PanagiotisKanavos Sql bulks copy works所示,当excel中的列名与Db table中的列名相同时。如果我错了,请更正。@user1931544您可以指定目标表和列映射到SQLBulkCopy