【发布时间】:2009-08-14 20:32:23
【问题描述】:
我使用 openxml 创建了一个 .xlsx。 我无法在 Office 2003 中打开此文件。我也尝试过使用兼容包,但文件仍然无法打开。如果我需要生成可以在 Office 2003 中打开的 .xlsx,该怎么办。
我用来生成 .xlsx 的代码是:
public static void HelloWorldXlsx(string docName)
{
SpreadsheetDocument package = SpreadsheetDocument.Create(docName, SpreadsheetDocumentType.Workbook);
package.AddWorkbookPart();
package.WorkbookPart.Workbook = new Workbook();
WorksheetPart wspart = package.WorkbookPart.AddNewPart<WorksheetPart>();
Cell cell = new Cell();
cell.DataType = CellValues.InlineString;
cell.InlineString = new InlineString(new DocumentFormat.OpenXml.Spreadsheet.Text("Hello World!"));
wspart.Worksheet = new Worksheet(new SheetData(new Row(cell)));
wspart.Worksheet.Save();
package.WorkbookPart.Workbook.AppendChild(new Sheets());
Sheet sheet = new Sheet();
sheet.Id = package.WorkbookPart.GetIdOfPart(wspart);
sheet.SheetId = 1;
sheet.Name = "Hello !";
package.WorkbookPart.Workbook.GetFirstChild<Sheets>().AppendChild<Sheet>(sheet);
package.WorkbookPart.Workbook.Save();
package.Close();
}
【问题讨论】:
-
您的文档可能缺少 Office 所需的内容。文件是否在 Excel 2007 中打开,或者您是否收到文档已损坏的消息?
-
顺便说一句,从现有的 XLSX 文档开始并使用 OpenXML 进行调整可能更容易。