我创建一个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