Привет Всем!
Есть веб проект, все что он делает, это открывает Excel Application, некую таблицу, и проходит по строкам, столбцам, начитывает ячейки.
Область размером 25x20, т.е. 500 ячеек, он обрабатывает около 30 сек, что по моему, очень много, думаю что обращаюсь к Excel "как то не так". Мой комп Celeron 1.7Ghz, 512Mb. Код приведен ниже, подскажите плиз, в чем моя вина?
Excel.Application excel = new Excel.Application();
excel.Visible = false;
Excel.Workbook workbook =
excel.Workbooks.Open(
path,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing
);
Excel.Worksheet shit = (Excel.Worksheet)workbook.Worksheets.get_Item(1);
excel.ScreenUpdating = false;
for(int i = 1; i < 25; i++)
{
for(int j = 1; j < 20; j++)
{
TableCell cell = new TableCell();
Excel.Range myExcelCell = ((Excel.Range)shit.Cells[i,j]);
//Тут еще есть запись в файл, но на скорость она особо не влияет, проверял.
}
}
excel.ScreenUpdating = true;
Marshal.ReleaseComObject(shit);
shit = null;
Marshal.ReleaseComObject(workbook);
workbook = null;
excel.DisplayAlerts = false;
excel.Quit();
Marshal.ReleaseComObject(excel);
excel = null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();