2016-08-03 34 views
-1

我有此EPPlus代碼放置的位圖上的Excel電子表格中,在柱5/E,行1:爲什麼我的位圖顯示偏離中心(一個單元太右和下)?

using (var package = new ExcelPackage(file)) 
{ 
    . . . 
    AddImage(locationWorksheet, 1, 5, imgPath); 
    . . . 
} 

private void AddImage(ExcelWorksheet oSheet, int rowIndex, int colIndex, string imagePath) 
{ 
    Bitmap image = new Bitmap(imagePath); 
    { 
     var excelImage = oSheet.Drawings.AddPicture("PRO*ACT Logo", image); 
     excelImage.From.Column = colIndex; 
     excelImage.From.Row = rowIndex; 
     excelImage.SetSize(108, 84); 
    } 
} 

的圖像是一個PNG文件,與顯示的尺寸(108X84)。

雖然圖像應顯示在第1行第5列的交叉點tghe,它實際上更像是第2行和列6:

enter image description here

爲什麼,以及如何糾正呢?

注意:Excel列和行索引是基於1的(不是0)。

回答

1

也許AddImage正在尋找行/列的索引而不是行/列號。如果是這種情況,那麼你可以將行/列計爲0,1,2,3,4等。

如果你從當前值中減去1,那麼你應該沒問題。使用索引來引用列表或網格中的位置是比較常見的,所以我認爲這是一個安全的選擇。

+0

這就是 - 令人討厭的是,Excel通常會被奇怪地索引 - 在1 - 但在這種情況下,常態返回。 –

+1

你說得對。 Excel在某些地方(VBA)中使用基於零的索引,而不是其他(公式)。 – trademark