【问题标题】:How To insert Bulk from datatable to excel如何从数据表中批量插入excel
【发布时间】:2022-11-08 23:22:28
【问题描述】:

我正在使用 npoi 将数据保存在 excel 工作表中,但是我有一个巨大的数据,在尝试插入这样的数据时需要 1 个多小时,所以我试图将数据批量插入到 excel 工作表中。

public byte[] getWorkbook(DataTable dt)
{
    IRow currentRow;
    HSSFWorkbook workbook;
    var worksheet = workbook.CreateSheet("Sheet1");

    for(int i = 0; i < dt.Rows.Count; i++)
    {
        currentRow=worksheet.CreateRow(i);
        for(int j = 0; j < dt.Columns.Count; j++)
        {
            currentRow.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
            worksheet.AutoSizeColumn(j);
        }
    }

     var stream =new MemoryStream();
     workbook.Write(stream);
     return stream.ToArray();
}

【问题讨论】:

    标签: c#-4.0 asp.net-core-webapi


    【解决方案1】:

    从 DataTable 中读取每个值并在 Excel 中逐个单元格地移动它是传输数据的常用方法。但是对于批量数据,由于时间复杂性,不建议使用此过程。 因此,为了克服这个问题,我们可以使用剪贴板从 DataTable 中复制数据,并将其粘贴到 excel 的范围内。它可以提高性能。

    为此,DataTable 没有将数据复制到剪贴板的默认功能。所以我们必须将 Datatable 转换为数组,从数组转换为 sting。字符串可以轻松复制到剪贴板,也可以粘贴到 Excel 中。

    请找到参考链接here

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 2021-01-19
      • 2013-07-20
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      相关资源
      最近更新 更多