2017-01-04 7 views
1

私はEPPlusバージョン4.1.0を使用しています この問題は非常に不思議そうですが、私はすでにこの2日間を無駄にしており、入力は非常に大歓迎です!EPPlus AutoFit()別のマシンで異なるカラム幅

using (var package = new ExcelPackage()) 
{ 
    ExcelWorksheet ws = package.Workbook.Worksheets.Add("Sheet1"); 
    ... 
    for (int i = ws.Dimension.Start.Column; i <= ws.Dimension.End.Column; i++) 
    { 
     ws.Column(i).AutoFit(0, 100); 
     ws.Column(i).Style.WrapText = ws.Column(i).Width > 60; 
    } 
... 

、私はいくつかのマシン上でこのコードを実行するとAutFit()機能は常に列幅の同じ値を返します。

は、私は、次のコードを実行します。

しかし、1台のマシン(残念ながら私の新しいノートパソコン)では、幅が完全にオフになっています(つまり、予想された11ではなく33)。

私のマシンセットアップがこれにどのような影響を与える可能性がありますか?

+2

hi-rez画面を実行している新しいノートパソコンですか?もしそうなら、あなたはおそらくあなたのDPIを100%よりずっと高く設定して、その違いを説明するかもしれません。 – Ernie

+0

それは実際にはそれでした。これがクライアントの最終的な文書に影響を与えているかどうかは分かりますか? – w33z33

+2

私はその前に出くわしません。そうかもしれない。 EpplusがExcelRangeBase.csで自動フィックスするコードを見ると、セルに含まれるテキストのサイズに基づいて計算が行われます。これは、System.Drawings.Graphicsオブジェクトに含まれています。これはサーバー上にあるので、ユーザーのスケーリングを考慮することができません。申し訳ありませんもっと助けてください... – Ernie

答えて

1

他の人がこの恩恵を受けることを期待していますが、コメントに記載されているように、実際にこれを引き起こしたのは新しいマシンのDPI設定でした。

これが実際にレポート自体に影響するかどうかはまだわかりません。

関連する問題