asp.net从excel中提取并插入sqlserver上万条数据

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

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


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

接下来验证您是不是高手的时刻。 asp.net从excel中提取并插入sqlserver上万条数据

5 个解决方案

#1


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

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

详情点击

#2


嗯,用bcp方式导入会比较快

#3


Return_false 说的很正确

#4


该回复于2012-08-21 09:08:21被版主删除

#5


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

#1


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

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

详情点击

#2


嗯,用bcp方式导入会比较快

#3


Return_false 说的很正确

#4


该回复于2012-08-21 09:08:21被版主删除

#5


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