如何写入excel c#

时间:2015-12-14 03:05:59

标签: c# excel

我正在使用此代码将数据写入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文件而不是逐个单元格?

1 个答案:

答案 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;

向/从每个单元格写入/读取值太慢并且会耗费大量时间,尝试在内存中进行。