打开XML填充exceltable
Open XML populate excel table
我有 excel 模板,其中有一列为空 table。我需要用一些字符串值填充它(这是使用数据验证设置查找所必需的,但我想这并不重要)
我想得到 Table 对象,我想我应该使用 Append 方法
var workBookPart = doc.WorkbookPart;
var lookupsSheet = (Sheet)workBookPart.Workbook.Sheets.FirstOrDefault(x => (x is Sheet && ((Sheet)x).Name == "Lookups"));
var worksheetPart = (WorksheetPart)workBookPart.GetPartById(lookupsSheet.Id);
var table = worksheetPart.TableDefinitionParts.FirstOrDefault(x => x.Table.DisplayName == "ValuesTable")?.Table;
有人能告诉我向 table 添加行的正确方法吗?谢谢!
我建议您使用 ClosedXML 库来设置工作表中单元格的值。通过使用 ClosedXML,您将能够按以下方式填充所需的单元格:
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Demo");
// Set the values for the cells
ws.Cell(1, 1).Value = "Value";
ws.Cell(2, 1).Value = 1;
ws.Cell(3, 1).Value = 2;
ws.Cell(4, 1).Value = 3;
ws.Cell(5, 1).Value = true;
请注意,您可以将单元格的值设置为字符串、整数和布尔值,而无需进行任何显式转换。您也可以在不对其他类型进行任何显式转换的情况下设置单元格的值,如下面的解释 link:Cell Values.
有关 ClosedXML 库的更多信息,请参阅 documentation.
附带说明一下,我真的很想使用 Open XML 来操作 Excel 电子表格,但我发现 ClosedXML 更容易使用。
我有 excel 模板,其中有一列为空 table。我需要用一些字符串值填充它(这是使用数据验证设置查找所必需的,但我想这并不重要)
我想得到 Table 对象,我想我应该使用 Append 方法
var workBookPart = doc.WorkbookPart;
var lookupsSheet = (Sheet)workBookPart.Workbook.Sheets.FirstOrDefault(x => (x is Sheet && ((Sheet)x).Name == "Lookups"));
var worksheetPart = (WorksheetPart)workBookPart.GetPartById(lookupsSheet.Id);
var table = worksheetPart.TableDefinitionParts.FirstOrDefault(x => x.Table.DisplayName == "ValuesTable")?.Table;
有人能告诉我向 table 添加行的正确方法吗?谢谢!
我建议您使用 ClosedXML 库来设置工作表中单元格的值。通过使用 ClosedXML,您将能够按以下方式填充所需的单元格:
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Demo");
// Set the values for the cells
ws.Cell(1, 1).Value = "Value";
ws.Cell(2, 1).Value = 1;
ws.Cell(3, 1).Value = 2;
ws.Cell(4, 1).Value = 3;
ws.Cell(5, 1).Value = true;
请注意,您可以将单元格的值设置为字符串、整数和布尔值,而无需进行任何显式转换。您也可以在不对其他类型进行任何显式转换的情况下设置单元格的值,如下面的解释 link:Cell Values.
有关 ClosedXML 库的更多信息,请参阅 documentation.
附带说明一下,我真的很想使用 Open XML 来操作 Excel 电子表格,但我发现 ClosedXML 更容易使用。