我創建一個XLSX與OpenXML的SDK文件和我指定一個自定義的列寬:自定義列寬VS MS Excel的
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Create("Book1.xlsx", SpreadsheetDocumentType.Workbook))
{
WorkbookPart workbookPart = spreadsheet.AddWorkbookPart();
workbookPart.Workbook = new Workbook();
WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet();
spreadsheet.WorkbookPart.Workbook.AppendChild<Sheets>(
new Sheets(
new Sheet() { Id = spreadsheet.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "Sheet1" }));
worksheetPart.Worksheet.Append(
new Columns(
new Column() { Min = 1, Max = 1, Width = 15, CustomWidth = true }),
new SheetData());
workbookPart.Workbook.Save();
}
但是當我打開得到的「第一冊在MS Excel的.xlsx」文件,並檢查列的值,它表明:
寬度:14.29(105像素)
此外,當我設置列的使用MS Excel值:
寬度:15(110個像素)
,然後閱讀與OpenXML的SDK該值我得到〜15.711。
問題是爲什麼,它爲什麼不同?
我已閱讀了關於這個在SO中的幾個查詢。這似乎是SDK中的一個錯誤。我還沒有遇到這個問題的解決方案 – Zac
你能給我發送一些這些查詢的鏈接,以便我可以檢查它們嗎?我無法找到它們,我只能看到與定義列寬相關的帖子以及與自動貼合相關的帖子。另外,我不確定這是SDK中的錯誤還是MS Excel中的錯誤,因爲內部XLSX文件的值存儲在(15)內,但MS Excel顯示該值稍微增加(〜15.711) 。所以如果有的話,對我來說這似乎是MS Excel中的一個錯誤。 – NixonUposseen