0

Office.Interop.Excel を使用して画像を Excel ファイルに含めるスマートな方法を探しています。基本的にレポートを作成したいのですが、私のコラムの 1 つに画像が含まれています。

私は2つの問題に直面しています.1つ目は、一時コピーをHDに保存しない限り、画像を追加する方法が見つかりませんでした(画像はDBに保存されたバイト配列からのものです)。次に、画像自体をセルに追加できません。 、ワークシートの正確な場所を計算する必要がありますが、これはあまり効率的ではありません。

これが私のコードです

using (MemoryStream stream = new MemoryStream(ByteArrayImage))
{
    Image image = Image.FromStream(stream);
    image.Save(directory + "\\Excel\\Temp\\image.png", ImageFormat.Png);
    xlWorkSheet.Shapes.AddPicture(directory + "\\Excel\\Temp\\image.png",
                 MsoTriState.msoFalse,MsoTriState.msoTrue,580, cumulHeight, 
                 image.Size.Width, image.Size.Height);
    cumulHeight += image.Size.Height + 10;
    SetRowHeight(xlWorkSheet, i + 2, image.Size.Height + 10);
}

何か案は?

君たちありがとう

4

1 に答える 1

0

私も数週間前に同じ問題を抱えていました。画像をグリッドビューにバインドすることで問題を解決しました。唯一の欠点は、画像の左上隅にグリッドビューの列の名前が表示されることです。必要に応じて、そのコードを提供できます。ただし、私のテクニックについてはoffice.interop.excel は必要ありません。

于 2012-05-03T12:46:19.530 に答える