smo*_*med 0 .net c# excel optimization performance
我的C#应用程序从excel文件中获取了大量数据并对其进行处理,然后将其写回文件.
问题是从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;
}
Run Code Online (Sandbox Code Playgroud)
我没有做过与Excel的任何一个时间过长... ...但在几年前,我们能够加快我们的一些流程,从Excel读取读取数据的单元格范围在同一时间到一个数组(而不是去细胞按细胞).
从C#到Excel的每次读取操作都必须通过COM,这非常昂贵.如果您设法减少需要从Excel读取的次数(例如,通过一次读取多个值),您应该看到速度的显着提高.
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |