我有一个包含多行数据的表(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/