我有一个非常大的excel文件,它有大约一百万行,大小约为400MB。 我需要为这个文件建立一些System.Data.IDbConnection。现在,我尝试了两个方法: 1)
System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='D:\\file.xls';Extended Properties='Excel 12.0;HDR=YES;IMEX=1';");
2)
System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=<FILE>;ReadOnly=True;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"")
两个连接对于小文件(25MB)都可以正常工作。但即使对于25MB文件,打开连接大约需要4秒。
当我使用350MB文件时,这个简单的命令:
connection.Open();
需要超过3分钟,我不能使用这么慢的连接。
是否有任何免费的解决方案可以快速获取IDbConnection来读取大型excel文件? 谢谢你的帮助。
答案 0 :(得分:1)
尝试不同的方法,也许如果您使用访问数据库,其中de excel表链接,您可以获得时间。访问和excel之间的连接很奇怪,但在许多情况下比导入Excel文件更快。