У меня есть 7 DataTables (различного количества строк, столбцов) на моей странице asp.net (C #). Я отображаю данные на своей странице, используя GridViews. Существует требование экспортировать эти dataTables в файл Excel таким образом, что мне нужны данные первых 5 DataTables на первом листе, включая их графики, данные 6-го DataTable на 2-м листе и данные 7-го DataTable на 3-м листе того же файл Excel.
Я реализовал решение, используя Excel Interop. Первый лист (имеющий 5 таблиц данных и их графики) загружается нормально. Но второй и третий листы занимают слишком много времени (4000-5000 строк данных и около 50 столбцов на каждом листе) при загрузке.
Есть ли способ их быстрой загрузки?
Я использую следующий код:
Worksheet xlWorksheet2 = null;
//Create Excel Sheets
xlSheets = ExcelApp.Sheets;
xlWorksheet2 = (Worksheet)xlSheets.Add(xlSheets[2], Type.Missing, Type.Missing, Type.Missing);
xlWorksheet2.Name = "Dump-1";
table = Dump1();
for (int j = 1; j < table.Columns.Count + 1; j++)
{
ExcelApp.Cells[1, j] = table.Columns[j - 1].ColumnName;
}
// Storing Each row and column value to excel sheet
for (k = 0; k < table.Rows.Count; k++)
{
for (int l = 0; l < table.Columns.Count; l++)
{
ExcelApp.Cells[k + 2, l + 1] = table.Rows[k].ItemArray[l].ToString();
}
}