Microsoft® Excel ファイル グラフの作成と変換 via .NET

Excel ドキュメント グラフを作成し、.NET ベースのアプリケーション内のサーバー側 API を使用して画像に変換します。

 

チャートの描画は、分析を容易にするためにデータをグラフィカルに表示する技術です。 .NET エクセルライブラリ Excel ファイル内でのグラフの描画をサポートします。 API は、以下にリストされているさまざまなグラフの作成をサポートしています。 ChartType 列挙体 円グラフ、ピラミッド グラフ、折れ線グラフ、バブル チャートが含まれます。さらに、チャートを画像に変換することもできます。 API は、 チャートクラス グラフの構成要素用。

Excelファイル内にグラフを作成

Excel API を使用したグラフの作成は簡単です。プロセスは、作成することです ワークブッククラス オブジェクトを選択し、インデックスを指定して最初のワークシートまたは関連シートを選択します。次を使用して必要なセル データを挿入します。 PutValue メソッド 。 Charts コレクションのを使用してワークシートにグラフを追加します。 メソッドの追加 。を指定します グラフの種類 ChartType 列挙から。

C# Excel グラフを作成するコード
// Instantiating a Workbook object
Workbook wkb = new Workbook();
// Obtaining the reference of the first worksheet
Worksheet wks = workbook.Worksheets[0];
// Adding sample values to cells
wks.Cells["A2"].PutValue("Category1");
wks.Cells["A3"].PutValue("Category2");
wks.Cells["A4"].PutValue("Category3");
wks.Cells["B1"].PutValue("Column1");
wks.Cells["B2"].PutValue(4);
wks.Cells["B3"].PutValue(20);
wks.Cells["B4"].PutValue(50);
wks.Cells["C1"].PutValue("Column2");
wks.Cells["C2"].PutValue(50);
wks.Cells["C3"].PutValue(100);
wks.Cells["C4"].PutValue(150);
// Adding a chart to the worksheet
int chartIndex = wks.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = wks.Charts[chartIndex];
// Setting chart data source as the range "A1:C4"
chart.SetChartDataRange("A1:C4", true);
// Saving the Excel file
wkb.Save(dataDir + "output.xls");
// API supports creating Pyramid, Line and Bubble chart as well

Excel グラフを画像に変換

グラフを画像に変換するプロセスは、Workbook クラスを使用して Excel ファイルをロードし、グラフを含む関連ワークシートを選択して、 ToImage メソッド 変換のため。

C# Excel グラフを画像に変換するコード
// Load Excel XLSX document having pie chart
var workbook = new Workbook("PieChart.xlsx");
// get the designer chart (first chart) in the first worksheet of the workbook
var chart = workbook.Worksheets[0].Charts[0];
// convert the chart to an image file.
chart.ToImage("PieChartOut.emf", System.Drawing.Imaging.ImageFormat.Emf);