在 .NET C# 中,我试图打开一个 Excel 模板,添加一些数据并将其另存为新文档。我正在尝试使用 OpenXML 文档格式。我似乎找不到有关如何执行此操作的任何指导。似乎所有文档都在讨论如何将各个部分写入包,但我找不到任何关于当你完成并想要保存它时该做什么的信息。
有谁知道我在哪里可以找到这些信息?我一定是错误地考虑了这一点,因为我没有找到任何有用的东西似乎非常基本。
谢谢
在 .NET C# 中,我试图打开一个 Excel 模板,添加一些数据并将其另存为新文档。我正在尝试使用 OpenXML 文档格式。我似乎找不到有关如何执行此操作的任何指导。似乎所有文档都在讨论如何将各个部分写入包,但我找不到任何关于当你完成并想要保存它时该做什么的信息。
有谁知道我在哪里可以找到这些信息?我一定是错误地考虑了这一点,因为我没有找到任何有用的东西似乎非常基本。
谢谢
ExcelPackage 对此非常有效。我不认为有一段时间,主要作者尚未对其进行研究,但它在其论坛上拥有很好的追随者,可以解决任何问题。
FileInfo template = new FileInfo(Path.GetDirectoryName(Application.ExecutablePath)+"\\Template.xlsx");
try
{
using (ExcelPackage xlPackage = new ExcelPackage(strFileName,template))
{
//Enable DEBUG mode to create the xl folder (equlivant to expanding a xlsx.zip file)
//xlPackage.DebugMode = true;
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];
worksheet.Name = WorkSheetName;
foreach (DataRow row in dt.Rows)
{
int c = 1;
if (r > startRow) worksheet.InsertRow(r);
// our query has the columns in the right order, so simply
// iterate through the columns
foreach (DataColumn col in dt.Columns)
{
if (row[col].ToString() != null)
{
worksheet.Cell(r, c).Value = colValue;
worksheet.Column(c).Width = 10;
}
c++;
}
r++;
}
// change the sheet view to show it in page layout mode
worksheet.View.PageLayoutView = false;
// save our new workbook and we are done!
xlPackage.Save();
xlPackage.Dispose();
}
}
访问 Open XML / SpreadsheetML 文档绝非易事。规格大而复杂。“Open XML SDK”(google it)肯定有帮助,但仍然需要一些关于 Open XML 标准的知识才能完成很多工作。
SpreadsheetGear for .NET具有类似于 Excel 的 API,可以读写 Excel Open XML (xlsx) 文档以及 Excel 97-2003 (xls) 文档。
您可以在此处查看一些 SpreadsheetGear 示例并在此处下载免费试用版。
免责声明:我拥有 SpreadsheetGear LLC