我正在使用此代码将数据写入excel文件。
Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application();
excelapp.Visible = true;
I am using this code to write to excel.
_Workbook workbook = (_Workbook)(excelapp.Workbooks.Open(@"C:\Path\To\Your\WorkBook\ExcelWorkBook.Xls"));
_Worksheet worksheet = (_Worksheet)workbook.ActiveSheet;
worksheet.Cells[1, 1] = "Name";
worksheet.Cells[1, 2] = "Bid";
worksheet.Cells[2, 1] = txbName.Text;
worksheet.Cells[2, 2] = txbResult.Text;
excelapp.Visible = false;
此代码工作正常,但它的工作速度非常慢。我想用最快的方式来编写excel。如果我运行一个循环来写入excel来编写成千上万的行,那么它可以缓慢地工作。是否有更快的方法将数据写入excel文件,例如将整个数据表同时写入Excel数据行的excel文件而不是逐个单元格?
答案 0 :(得分:1)
尝试将数组插入excel:
object[,] arr = new object[rowCount, columnCount];
//Assign your values here
Excel.Range c1 = (Excel.Range)worksheet.Cells[0, 1];
Excel.Range c2 = (Excel.Range)worksheet.Cells[rowCount - 1, columnCount];
Excel.Range range = wsh.get_Range(c1, c2);
range.Value = arr;
向/从每个单元格写入/读取值太慢并且会耗费大量时间,尝试在内存中进行。