///需要从数据表中检索数据时更新Excel工作表列,请在此处输入代码
foreach (DataRow datarow in dt.Rows)
{
int[] colNumber = new int[] { 9,5,13,24,111,17,76,34,38 };
rowcount += 1;
for (int i = 0; i < colNumber.Length; i++)
{ string value = datarow[i].ToString();
ws.Cells[rowcount, colNumber[i]] = value;
}
}
答案 0 :(得分:0)
使用EntityFramework无法解决该问题,因为您担心的是错误的区域。此延迟的主要原因是您正在尝试访问dt.Rows
中每个记录的工作表对象。
为此,我建议使用GemBox.Spreadsheet。您可以将数据表直接附加到工作表。另外,您无需将值显式转换为字符串。
----------
// Code sample.
private void Download()
{
DataTable datatable=yourDatatable;// callStore Procedure to fetch DataTable
ExcelFile csvFile = new ExcelFile();//GemBox.Spreadsheet ExcelFile
ExcelWorksheet ws = csvFile.Worksheets.Add("YourWorkSheetName");
if (ws != null)
{
ws.InsertDataTable(datatable, 0, 0, true);
// Use MemoryStream to save or to send it to client as response.
}
}
----------