public void OpenDxRecordsFormExcel()
{
try
{
var document = SpreadsheetDocument.Open(@"C:\DxRecordForm.xlsx",true);
WorkbookPart workbookPart = document.WorkbookPart;
var sheets = workbookPart.Workbook.Descendants<Sheet>();
var sheet = sheets.First();
WorksheetPart workSheetPart = ((WorksheetPart)workbookPart
.GetPartById(sheet.Id));
Cell headerCell = workSheetPart.Worksheet.Descendants<Cell>().Where(c => c.CellReference == "A1").First();
headerCell.CellValue = new CellValue("NAME:" + " " + "Test Text");
workSheetPart.Worksheet.Save();
workbookPart.Workbook.Save();
document.Close();
}
catch (Exception e)
{
}
}
我使用上面的方法将文本写入excel文档的一个单元格(.xlsx)。执行上面的代码后,当我尝试打开excel文档时,我得到一个对话框说 “Excel在文件中找到了不可读的内容。你想恢复这个工作簿的内容吗?” 如果我点击“是”打开excel文件,我会收到另一条消息,表示excel能够在删除不可读内容后打开文档。
我可以看到A1单元格中的文字,但我不确定为什么打开文档时excel会显示这条消息。
我是使用Open XML SDK读取/写入.xlsx文件的新手。