2017-01-04 45 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()函數始終返回列的寬度相同的值。

但在一臺機器上(不幸的是我的新筆記本電腦)寬度完全關閉(即33而不是預期的11)。

任何線索如何我的機器設置可能會影響這?

+2

你是新的筆記本電腦運行hi-rez屏幕?如果是這樣,你可能會將你的DPI設置得高於100%,這也許可以解釋這種差異。 – Ernie

+0

是的,這是其實。你有什麼想法是否這是影響客戶的最終文件? – w33z33

+2

我沒有遇到那個之前。它可能。如果您查看Epplus在ExcelRangeBase.cs中自動安裝的代碼,您將看到它會根據單元格在System.Drawings.Graphics對象中包含的文本大小進行一些計算。由於這是在服務器上,它將無法解釋用戶縮放。對不起,我不能幫助更多... – Ernie

回答

1

我希望別人能從中受益,但正如評論中所述,這實際上是我的新機器的DPI設置造成的。

我還沒有找出這是否實際影響報告本身。

相關問題