asp.net (版本2.0) 从excel中提取出接近6万条数据。并且把这6万条数据,提取出来插入数据库中,到这个数据量不确定,可能以后会更多。
大虾门有啥好办法吗。 我读取excel的6万数据 就要得20秒。真心的不行啊。并且这只是在本地测试,将来上传到服务器,可能还会更慢。求解决。
实现:asp.net 的 gridview 控件, 求高手。分不多了见谅。
接下来验证您是不是高手的时刻。
5 个解决方案
#1
你不应该采取循环读取Excel然后插入的方式,而是要以Excel作为数据源,直接映射到SQL中的表里面
据说~~~~~~
将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。
详情点击
据说~~~~~~
将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。
详情点击
#2
嗯,用bcp方式导入会比较快
#3
Return_false 说的很正确
#4
#5
System.Data.SqlClient.SqlBulkCopy 你搜一下这个代码吧。网上多呢。还带事物回滚操作。就是说有一条记录导入失败就全部不执行了
#1
你不应该采取循环读取Excel然后插入的方式,而是要以Excel作为数据源,直接映射到SQL中的表里面
据说~~~~~~
将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。
详情点击
据说~~~~~~
将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10秒左右,而真正的导入过程只需要4.5秒。
详情点击
#2
嗯,用bcp方式导入会比较快
#3
Return_false 说的很正确
#4
#5
System.Data.SqlClient.SqlBulkCopy 你搜一下这个代码吧。网上多呢。还带事物回滚操作。就是说有一条记录导入失败就全部不执行了