阅读一个大的Excel文档

我想知道在Excel中读取单元格的最快方法是什么。
我有一个Excel文件,包含50000行,我想知道如何快速阅读。
我只需要阅读第一列,使用oledb连接需要15秒。
有没有更快的办法

谢谢

下面是一个依赖于使用Microsoft.Office.Interop.Excel的方法

请注意:我使用的Excel文件只有一列包含50000个条目的数据

1) 使用Excel打开文件,将其另存为csv,然后关闭Excel

2) 使用StreamReader快速读取数据

3) 拆分回车换行符上的数据并将其添加到字符串列表中

4) 删除我创建的csv文件

我使用System.Diagnostics.StopWatch来计时执行,函数运行需要1.5568秒

公共静态列表<字符串>ExcelReader(字符串文件位置)
{                       
Microsoft.Office.Interop.Excel.Application Excel=新应用程序();
Microsoft.Office.Interop.Excel.Workbook工作簿=
excel.Workbooks.Open(文件位置);
工作簿.SaveAs(
fileLocation+“.csv”,
Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows
);
工作簿。关闭(true);
excel.Quit();
List<string>valueList=null;
使用(StreamReader sr=new StreamReader(fileLocation+“.csv”)){
字符串内容=sr.ReadToEnd();
valueList=新列表<字符串&gt(
内容。拆分(
新字符串[]{“\r\n”},
StringSplitOptions.RemoveEmptyEntries
)
);
}
新文件信息(fileLocation+“.csv”).Delete();
返回价值清单;
}

资源:

http://www.codeproject.com/Articles/5123/Opening-and-Navigating-Excel-with-C

如何使用C#在回车时分割字符串

发表评论