OpenXML更新/写入Excel单元格(即使它为空)

我有一个使用OpenXML 2.5更新的XLSX Excel文档。 可以理解的是,有些单元格由于目前为空而更难以更新。 当单元格值为空时,下面的方法为GetCell返回null,因此我无法继续进行单元更新。

是否有更新单元格的一体化方法(或额外的库),即使它是空的?

编辑 :我一直在使用OpenXML的各种问题,所以在此期间,我开始使用ClosedXML ,而在每个场景ClosedXML完美的作品。

public static void UpdateCell(string docName, string text, uint rowIndex, string columnName) { // Open the document for editing. using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(docName, true)) { WorksheetPart worksheetPart = GetWorksheetPartByName(spreadSheet, "Sheet1"); if (worksheetPart != null) { Cell cell = GetCell(worksheetPart.Worksheet, columnName, rowIndex); cell.CellValue = new CellValue(text); cell.DataType = new EnumValue<CellValues>(CellValues.Number); // Save the worksheet. worksheetPart.Worksheet.Save(); } } } private static Cell GetCell(Worksheet worksheet, string columnName, uint rowIndex) { Row row = GetRow(worksheet, rowIndex); if (row == null) return null; var FirstRow = row.Elements<Cell>().Where(c => string.Compare (c.CellReference.Value, columnName + rowIndex, true) == 0).FirstOrDefault(); if (FirstRow == null) return null; return FirstRow; }