UltraChartにはSaveToメソッドでグラフの内容を画像として保存する機能があります。また、インフラジスティックスのExcelライブラリーには、保存した画像をExcelのワークシートに貼り付ける機能があります。これらを組み合わせることで、UltraChartの画像をExcelに出力することが可能です。
using (MemoryStream memoryStream = new MemoryStream())
{
// UltraChartのグラフをStreamに保存する。
ultraChart1.SaveTo(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
// Excelワークブックとワークシートを作成する。
Workbook workbook = new Workbook();
workbook.SetCurrentFormat(WorkbookFormat.Excel2007);
Worksheet worksheet = workbook.Worksheets.Add("Sheet1");
// Streamから画像オブジェクトを作成する。
Image image = Image.FromStream(memoryStream);
// 画像オブジェクトからWorksheetImageオブジェクトを作成する。
WorksheetImage imageShape = new WorksheetImage(image);
// 貼り付け範囲用として使うセルを取得する。
WorksheetCell cell1 = worksheet.GetCell("A1");
WorksheetCell cell2 = worksheet.GetCell("J24");
// 画像の左上隅をcell1(A1)の左上隅に設定する。
imageShape.TopLeftCornerCell = cell1;
imageShape.TopLeftCornerPosition = new PointF(0.0F, 0.0F);
// 画像の右下隅はをcell2(J24)の右下隅に設定する。
imageShape.BottomRightCornerCell = cell2;
imageShape.BottomRightCornerPosition = new PointF(100.0F, 100.0F);
// 画像を追加する。
worksheet.Shapes.Add(imageShape);
// Excelワークブックを保存する。
workbook.Save("ExportedBook1.xlsx");
MessageBox.Show("完了しました");
}
実行結果
アプリケーション起動時のフォーム

「Excelにエクスポートする」をクリックすると…

サンプル
ヘルプドキュメント
- 「チャート画像の保存」
- 「画像をワークシートに追加」