作成日: 2015/09/01 最終更新日: 2015/09/01
文書種別
使用方法
詳細
C1Chartを使用して作成されたグラフのイメージをExcelのシート上に張り付けて保存するには、まずグラフイメージを画像データとして出力します。次に出力した画像データからXLPictureShapeを作成し、Excelシート上の指定した位置に配置します。最後にExcelを保存します。
以下のサンプルコードは、Excelシートの4行3列の位置にあるセルに対し、グラフイメージを配置する場合の記述例となります。
96dpiにおける1ピクセルが15twipsであることに基づき、XLPictureShapeを作成する際の画像サイズの指定でコントロールの幅および高さの値(論理ピクセル値)を15倍しています。
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
以下のサンプルコードは、Excelシートの4行3列の位置にあるセルに対し、グラフイメージを配置する場合の記述例となります。
96dpiにおける1ピクセルが15twipsであることに基づき、XLPictureShapeを作成する際の画像サイズの指定でコントロールの幅および高さの値(論理ピクセル値)を15倍しています。
◎サンプルコード(Visual Basic)
Dim width As Integer = c1Chart1.ActualWidth
Dim height As Integer = c1Chart1.ActualHeight
Dim dpi As Double = 96
Dim bmp As RenderTargetBitmap = New RenderTargetBitmap(width, height, dpi, dpi, PixelFormats.Default)
bmp.Render(c1Chart1)
Dim wbmp As WriteableBitmap = New WriteableBitmap(bmp)
Dim book As C1XLBook = New C1XLBook()
Dim sheet As XLSheet = book.Sheets(0)
Dim pic As XLPictureShape = New XLPictureShape(wbmp, 0, 0, width * 15, height * 15)
sheet(3, 2).Value = pic
book.Save("Test.xlsx", FileFormat.OpenXml)
Dim height As Integer = c1Chart1.ActualHeight
Dim dpi As Double = 96
Dim bmp As RenderTargetBitmap = New RenderTargetBitmap(width, height, dpi, dpi, PixelFormats.Default)
bmp.Render(c1Chart1)
Dim wbmp As WriteableBitmap = New WriteableBitmap(bmp)
Dim book As C1XLBook = New C1XLBook()
Dim sheet As XLSheet = book.Sheets(0)
Dim pic As XLPictureShape = New XLPictureShape(wbmp, 0, 0, width * 15, height * 15)
sheet(3, 2).Value = pic
book.Save("Test.xlsx", FileFormat.OpenXml)
◎サンプルコード(C#)
int width = (int)c1Chart1.ActualWidth;
int height = (int)c1Chart1.ActualHeight;
double dpi = 96;
RenderTargetBitmap bmp = new RenderTargetBitmap(width, height, dpi, dpi, PixelFormats.Default);
bmp.Render(this.c1Chart1);
WriteableBitmap wbmp = new WriteableBitmap(bmp);
C1XLBook book = new C1XLBook();
XLSheet sheet = book.Sheets[0];
XLPictureShape pic = new XLPictureShape(wbmp, 0, 0, width * 15, height * 15);
sheet[3, 2].Value = pic;
book.Save("Test.xlsx", FileFormat.OpenXml);
int height = (int)c1Chart1.ActualHeight;
double dpi = 96;
RenderTargetBitmap bmp = new RenderTargetBitmap(width, height, dpi, dpi, PixelFormats.Default);
bmp.Render(this.c1Chart1);
WriteableBitmap wbmp = new WriteableBitmap(bmp);
C1XLBook book = new C1XLBook();
XLSheet sheet = book.Sheets[0];
XLPictureShape pic = new XLPictureShape(wbmp, 0, 0, width * 15, height * 15);
sheet[3, 2].Value = pic;
book.Save("Test.xlsx", FileFormat.OpenXml);
旧文書番号
81448