-1

Excel スプレッドシートの列 5/E、行 1 にビットマップを配置するこの EPPlus コードがあります。

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 の交点に表示されるはずですが、実際には行 2 と列 6 に似ています。

ここに画像の説明を入力

なぜ、どうすればこれを修正できますか?

注: Excel の列と行のインデックスは 1 から始まります (0 ではありません)。

4

1 に答える 1

1

おそらく AddImage は、行/列番号ではなく、行/列のインデックスを探しています。その場合は、行/列を 0、1、2、3、4 などとしてカウントします。

現在の値から 1 を差し引いても問題ありません。リストまたはグリッド内の場所を参照するためにインデックスを使用することは比較的一般的です。

于 2016-08-03T19:01:59.610 に答える