我的C#應用程序從Excel文件中獲取大量數據並處理它,然後將其寫回到文件中。更快的Excel文件訪問C#
的問題是加載從Excel文件中的數據時,它需要一些時間(約7000的Excel場30秒)
我想讓它快,是有通過使它更快的任何方法大量的時間?
的代碼,我用它來獲取數據是:
streamReader = new StreamReader(@"ExcelPath.txt");
string path = streamReader.ReadLine();
//An Excel Application ==(contains)==> [Many] Excel WorkBook ==(contains)==>[Many] Excel WorkSheets==(contains)==>[Many] Ranges
Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook myworkbook = excelapp.Workbooks.Open(path, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true);
Microsoft.Office.Interop.Excel.Sheets myworksheets = myworkbook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet myworksheet =myworksheets.get_Item(1);
Microsoft.Office.Interop.Excel.Range range = myworksheet.UsedRange;
string[] data = new string[range.Rows.Count];
int start = 0;
for (start = 3; start < range.Rows.Count; start++)
{
Microsoft.Office.Interop.Excel.Range myrange = myworksheet.get_Range("O" + start.ToString(), System.Reflection.Missing.Value);
data[start] = myrange.Text;
}
哪個版本的Excel?看你如何從文本文件中讀取路徑,你是否只運行一個Excel實例?它不在服務器上運行?看看這個KB看看其他gotcha的support.microsoft.com/kb/257757 - 否則範圍方法VS單元格是WTG –
@JeremyThompson Excel 2010,是的,Excel的一個實例,不,不在服務器上... – SKandeel