Open XML填充excel表

时间:2015-11-04 13:55:00

标签: c# excel openxml

我有一个带有空单列表的excel模板。我需要用一些字符串值填充它(这是使用数据验证设置查找所需的,但我想它并不重要)

enter image description here

我找到了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;

有人可以启发有关向此类表添加行的正确方法。谢谢!

1 个答案:

答案 0 :(得分:0)

我建议你使用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;

请注意,您可以将单元格的值设置为字符串,整数和布尔值,而不进行任何显式转换。您可以设置单元格的值,而不对其他类型进行任何显式转换,如以下链接中所述:Cell Values.

有关ClosedXML库的更多信息,请参阅documentation.

作为旁注,我非常渴望使用Open XML来操作Excel电子表格,但我发现ClosedXML更容易使用。