日期:2014-05-17  浏览次数:20391 次

asp.net从excel中提取并插入sqlserver上万条数据
大概如题,
asp.net (版本2.0) 从excel中提取出接近6万条数据。并且把这6万条数据,提取出来插入数据库中,到这个数据量不确定,可能以后会更多。

大虾门有啥好办法吗。 我读取excel的6万数据 就要得20秒。真心的不行啊。并且这只是在本地测试,将来上传到服务器,可能还会更慢。求解决。


实现:asp.net 的 gridview 控件, 求高手。分不多了见谅。

接下来验证您是不是高手的时刻。

------解决方案--------------------
你不应该采取循环读取Excel然后插入的方式,而是要以Excel作为数据源,直接映射到SQL中的表里面

据说~~~~~~
将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。

详情点击


------解决方案--------------------
嗯,用bcp方式导入会比较快
------解决方案--------------------
Return_false 说的很正确

------解决方案--------------------
System.Data.SqlClient.SqlBulkCopy 你搜一下这个代码吧。网上多呢。还带事物回滚操作。就是说有一条记录导入失败就全部不执行了