1

MVC3を使用しています。ビューにいくつかのコンテンツとチャート(jqplotを使用したチャート)を表示しています。ここで、コンテンツとグラフを Excel にエクスポートしたいと考えています。既にコンテンツを Excel にエクスポートしています。今、私はExcelに画像を追加したいと思っています。チャートを画像に変換し、ソースとしてビュー内の 1 つの画像に割り当てました。その画像ソースなどを取得して、その画像をコントローラーからExcelコンテンツに追加することは可能ですか?

4

2 に答える 2

1

EPPlus ライブラリhttp://epplus.codeplex.com/を使用してみることができます。

グラフを画像に変換してExcelに挿入する必要はありません。このライブラリを使用して、アプリと同じようにグラフを作成できます。

EPPlus を使用して Excel に画像を追加する例 (これは単なる例であり、完全なコードではありません):

using (System.Drawing.Image img = /*...Load image here...*/)
{
if (img != null)
{
    //set row height to accommodate the picture
    ws.Row(currentRow).Height = ExcelHelper.Pixel2RowHeight(pictureHeight + 1);

    //add picture to cell
    ExcelPicture pic = ws.Drawings.AddPicture("PictureUniqueName", img);
    //position picture on desired column
    pic.From.Column = pictureCol - 1;
    pic.From.Row = currentRow - 1;
    pic.From.ColumnOff = ExcelHelper.Pixel2MTU(1);
    pic.From.RowOff = ExcelHelper.Pixel2MTU(1);
    //set picture size to fit inside the cell
    pic.SetSize(pictureWidth, pictureHeight);
}
}
于 2012-11-01T09:45:23.467 に答える
0

これは私がExcelシートに画像を配置する方法です:

Excel.Range picPosition = xlSShhh.Cells[2, 15];
Excel.Pictures p = xlSShhh.Pictures(System.Type.Missing) as Excel.Pictures;
Excel.Picture pic = null;
try
{
pic = p.Insert(path + pic_name + ".png", System.Type.Missing);
pic.ShapeRange.LockAspectRatio = Microsoft.Office.Core.MsoTriState.msoCTrue;
pic.ShapeRange.Width = 180;
pic.ShapeRange.Height = 180;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

それが役に立てば幸い

于 2012-11-01T10:10:45.793 に答える