我正在创建一个包含多个工作表的openxml Excel工作簿。每个工作表与下一个工作表略有不同,但每个工作表都包含唯一的数据。创建的页数总是不同的,因为它取决于不断变化的因素(可能是7张或15张等)。我正在尝试通过迭代foreach循环来学习创建这些工作表的优雅方法。
我通过创建字典来获得建议,但考虑到这涉及openxml类,我不知道如何为我的场景实现这一点。
奇怪的是,以下代码在LibreOffice Calc中完美运行,但Excel会抛出错误。我需要它来使用Excel。
foreach (var ExcelDatum in excelData)
{
WorksheetPart wspBuildSheets = workbookPart.AddNewPart<WorksheetPart>();
Worksheet wsBuildSheet = new Worksheet();
SheetData buildSheetData = new SheetData();
wsBuildSheet.AppendChild(buildSheetData);
wspBuildSheets.Worksheet = wsBuildSheet;
wspBuildSheets.Worksheet.Save();
Sheet buildSheet = new Sheet();
buildSheet.Name = "";
buildSheet.SheetId = 2;
buildSheet.Id = workbookPart.GetIdOfPart(wspBuildSheets);
sheets.Append(buildSheet);
Columns buildColumns = new Columns(
new Column
{
Min = 1,
Max = 1,
Width = 100,
CustomWidth = true
});
wsBuildSheet.AppendChild(buildColumns);
row = new Row();
row.Append(
ConstructCell("testing " + ExcelDatum.HddSn, CellValues.String, 0));
buildSheetData.AppendChild(row);
SheetViews sheetViews = new SheetViews();
SheetView sheetView = new SheetView();
sheetView.ShowGridLines = new BooleanValue(false);
sheetView.WorkbookViewId = 0;
sheetViews.Append(sheetView);
wsBuildSheet.Append(sheetViews);
}
非常感谢任何帮助!!
丹