c# - 将数据插入 Excel

标签 c# asp.net excel iteration

我有一个包含多行数据的表(sku、开始日、结束日)。我想要迭代该表并将其数据插入到预先存在的 Excel 文件中。问题是我的 Excel 文件没有标题(整个第一行被合并。我已经构建了连接字符串,但对于如何使用没有正确标题的 Excel 文件插入数据,我陷入了死胡同

if (skuQuery != null)
{
    String Model = skuQuery.Model;
    String skuHTML = skuQuery.skuHTML;
    String fileExtension = ".xls";
    String connString = "";
    String fileLocation = Server.MapPath("~/PropertyRoom/" + "PRTemplate-" + DateTime.Now.ToString("dd-MM-yyyy") + ".xls");
    //Check whether file extension is xls or xslx

    if (fileExtension == ".xls") { connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""; }
    else if (fileExtension == ".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; }
}
else { continue; }

注意:Excel 输出必须采用 Excel 97-2003 格式。

最佳答案

   using (ExcelPackage pck = new ExcelPackage(fileLocation))
    {
      ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
      ws.Cells["A1"].LoadFromDataTable(dataTable, true);
      pck.Save();
    }

我会推荐 EPPlus ( http://epplus.codeplex.com/ )。它可以在 nuget 上使用。

关于c# - 将数据插入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20672506/

相关文章:

performance - 如何在 Excel VBA 中更好地管理内存以防止宏变慢?

Perl - 无法访问 Excel 文件

c# - 如何在构建时将其他文件包含到 C# 的输出目录中?

c# - 使用 Gridview 进行参数化向下钻取

asp.net - 跟踪 SignalR 连接 ID 以查看它们是否真的存在

c# - 在 asp.net 3.5 中发送 future 日期的电子邮件通知

vba - 将数据表中的数据推送到生成的模板工作表中

c# - 为什么 AsQueryable<T> 不暗示 _t 鉴别器上的过滤器

c# - 当有图标时如何获取 MessageBox 的文本?

c# - DateTime.TryParse() 在 Windows 7 中失败