この投稿で説明されているように、OpenXML 仕様の公式の式を使用して、Excel 列のピクセル幅を計算しようとしています。ただし、この式を適用するには、標準フォントの最大桁幅を知る必要があります。これは、最も広い数字のピクセル幅です。OpenXML 仕様では、説明として次の例が示されています。
例として Calibri フォントを使用すると、11 ポイントのフォント サイズの最大桁幅は 7 ピクセル (96 dpi) です。
Calibri の 11 ポイントの数字を視覚的に調べて、これが正しいことを確認しましたが、実際には 7 ピクセル幅です。そのため、任意のフォント/サイズの最大桁幅を返すメソッドを作成しようとしています。
この質問の推奨事項に従いましたが、期待した結果が得られません。
ここに私のテストコードがあります:
var font = new Font("Calibri", 11.0f, FontStyle.Regular);
for (var i = 0; i < 10; i++)
{
Debug.WriteLine(TextRenderer.MeasureText(i.ToString(), font));
}
これは、すべての桁の幅が 15 であることを示しています。
何か提案はありますか?
ありがとう、ティム