我試圖在使用OpenXML框架的Excel電子表格中設置默認列寬,結果導致破損的文件。這裏是代碼設置Excel電子表格列屬性問題
private void initSpreadsheetDocument()
{
// Add a WorkbookPart to the spreadsheet document.
WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new Workbook();
var sheetData = new SheetData();
var properties = new SheetFormatProperties { DefaultColumnWidth = 25D };
Worksheet worksheet = new Worksheet();
worksheet.AppendChild(sheetData);
// here is line of code that corrupt file
// without it - file is being generated properly
worksheet.AppendChild(properties); ![enter image description here][1]
// Add a WorksheetPart to the WorkbookPart.
WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = worksheet;
// Init sheets
sheetsStorage = new Sheets();
defaultSheet = new Sheet();
defaultSheet.Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart);
defaultSheet.SheetId = 1;
defaultSheet.Name = DEFAULT_SHEET_NAME;
sheetsStorage.AppendChild(defaultSheet);
spreadsheetDocument.WorkbookPart.Workbook.AppendChild(sheetsStorage);
spreadsheetDocument.WorkbookPart.Workbook.Save();
}
here是錯誤截圖
我試圖用「附加」與「使用appendChild」,但結果是一樣的
有誰有一個觀點如何排序呢出來嗎?
我無法檢查我的建議,但嘗試使用worksheet.Append(properties);然後工作表。附加(sheetData); 。按此順序。 – Shelest
我剛剛檢查了這個解決方案 - 訂單申請屬性並不重要。無論如何,謝謝你的回覆 –