私はXLSXは、OpenXMLのSDKを使用してファイルと私はにカスタム列幅を指定しています作成しています:カスタム列幅
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();
}
しかし、私が得られた「BOOK1を開きます.xlsx形式」MS Excelでファイルおよび列の値をチェックし、それは示す:
幅:14.29(105ピクセル)また
、IセットMS Excelと列の値:
幅:15(110個のピクセル)
そして、私は〜15.711を得るのOpenXML SDKでその値を読み取ります。
質問がなぜ違うのですか?
私はこれについて、いくつかの質問を読みました。これはSDKのバグのようです。私はまだこの問題の解決策を見つけていません – Zac
私はそれらをチェックアウトできるようにそれらのクエリのいくつかに私にリンクを送ることができますか?私はそれらを見つけることができませんでした、私は列の幅を定義し、オートフィットに関連する投稿だけを参照してください。また、内部的にXLSXファイルに正しい値(15)が格納されているため、SDKのバグかMS Excelのバグかどうかはわかりませんが、MS Excelはその値を若干増やして(〜15.711) 。だから私にとっては、これはMS Excelのバグと思われます。 – NixonUposseen