使用Open XML Format SDK 2.5将文本写入其中后无法打开.xlsx文件

时间:2014-01-15 16:57:50

标签: c# .net excel openxml-sdk

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文件的新手。

0 个答案:

没有答案