C#读取大数据量Excel,60W行数据
用了两种方式读excel,其中存到ds中,只能读到2W行; 另一种效率极低,还在继续测试着。
有没有大神遇到过这种情况,能快速的读到60W行数据。
用下面这种方式读到DataSet中,最后发现ds中,只有2W多行数据。
OleDbDataAdapter adapter = new OleDbDataAdapter(string.Format("select * from [{0}]", sheetName), objConn);
adapter.Fill(ds, "XLSData");
后来又用了其他的一种方式。定义一个实体类,存到list中。 但效率有些低,大约1秒读12行数据,照这种速度,即使读完了,也需要16个小时, 现在读了1个多小时了,list才4W行数据,还在继续,想看一下能读到多少行。
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//引用Excel对象
Microsoft.Office.Interop.Excel.Workbook importWorkBook = excel.Workbooks.Open(path);//引用Excel工作簿
Microsoft.Office.Interop.Excel.Worksheet importSheet = (Microsoft.Office.Interop.Excel.Worksheet)importWorkBook.Worksheets[1];
int count = importSheet .UsedRange.Rows.Count;
for (int i = 2; i <= count ; i++)
{
string a = (Microsoft.Office.Interop.Excel.Range)CurrentSheet.Cells[i, 1];
...
list.add(a);
}