2009-08-13 10 views
0

openxmlを使用して.xlsxを作成しました。 オフィス2003でこのファイルを開くことができません。互換性パックを使用しようとしましたが、まだファイルが開かれません。オフィスでも開くことができる.xlsxを生成する必要がある場合は何ができるのですか?私があるの.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(); 
} 
+0

Officeに必要なものがドキュメントに存在しない可能性があります。ファイルがExcel 2007で開かれているか、文書が破損しているというメッセージが表示されますか? –

+0

Btwの場合は、既存のXLSXドキュメントから開始してOpenXMLを使用して調整する方が簡単でしょう。 –

答えて

0

感謝。私は私の質問への答えを得た。私は自分のコードでCellのcellReferenceプロパティを設定していない。