Excelのグラフはデータを視覚化できるため、データをより便利に比較および分析します。ただし、これは特定の制限があります。たとえば、元のデータの値を正確にグラフから直接読み取ることはできません。Excelが提供するソリューションは、グラフの下にシミュレーションテーブルを追加することです。つまり、テーブルが作成されたデータを含む軸の下にテーブルを追加します。この記事は、C#で無料のコンポーネントであるFree Spire.XLSを紹介して、Excelファイルを別々に作成し、データを追加し、グラフを生成し、シミュレーションテーブルを追加します。
使用する名前空間
using Spire.Xls;
using System.Drawing;
詳細な手順
ステップ1 Excelファイルを個別に作成し、フォームを追加します。
Workbook workbook = new Workbook();
workbook.CreateEmptySheets(1);
Worksheet sheet = workbook.Worksheets[0];
ステップ2 次のステップでチャートを生成するために、セルにサンプルデータを追加します。
sheet.Name = "Demo";
sheet.Range["A1"].Value = "月";
sheet.Range["A2"].Value = "一月";
sheet.Range["A3"].Value = "二月";
sheet.Range["A4"].Value = "三月";
sheet.Range["A5"].Value = "四月";
sheet.Range["A6"].Value = "五月";
sheet.Range["A7"].Value = "六月";
sheet.Range["B1"].Value = "田中";
sheet.Range["B2"].NumberValue = 3.3;
sheet.Range["B3"].NumberValue = 2.5;
sheet.Range["B4"].NumberValue = 2.0;
sheet.Range["B5"].NumberValue = 3.7;
sheet.Range["B6"].NumberValue = 4.5;
sheet.Range["B7"].NumberValue = 4.0;
sheet.Range["C1"].Value = "大森";
sheet.Range["C2"].NumberValue = 3.8;
sheet.Range["C3"].NumberValue = 3.2;
sheet.Range["C4"].NumberValue = 1.7;
sheet.Range["C5"].NumberValue = 3.5;
sheet.Range["C6"].NumberValue = 4.5;
sheet.Range["C7"].NumberValue = 4.3;
sheet.Range["D1"].Value = "小川";
sheet.Range["D2"].NumberValue = 3.0;
sheet.Range["D3"].NumberValue = 2.8;
sheet.Range["D4"].NumberValue = 3.5;
sheet.Range["D5"].NumberValue = 2.3;
sheet.Range["D6"].NumberValue = 3.3;
sheet.Range["D7"].NumberValue = 3.8;
ステップ3 ステップ2で入力したデータを使用して、縦棒グラフを生成し、Excelでの位置、グラフ名などを設定します。
Chart chart = sheet.Charts.Add(ExcelChartType.Column3DClustered);
chart.DataRange = sheet.Range["B1:D7"];
chart.SeriesDataFromRange = false;
chart.TopRow = 7;
chart.BottomRow = 28;
chart.LeftColumn = 3;
chart.RightColumn = 11;
chart.ChartTitle = "シミュレートされたデータテーブルを含む棒グラフの例";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];
cs1.CategoryLabels = sheet.Range["A2:A7"];
ステップ4 シミュレーションデータテーブルを追加します。
chart.HasDataTable = true;
ステップ5 ドキュメントをExcel2010として保存します。
workbook.SaveToFile("S3.xlsx", ExcelVersion.Version2010);
完全なるコード
using Spire.Xls;
using System.Drawing;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = new Workbook();
workbook.CreateEmptySheets(1);
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "Demo";
sheet.Range["A1"].Value = "月";
sheet.Range["A2"].Value = "一月";
sheet.Range["A3"].Value = "二月";
sheet.Range["A4"].Value = "三月";
sheet.Range["A5"].Value = "四月";
sheet.Range["A6"].Value = "五月";
sheet.Range["A7"].Value = "六月";
sheet.Range["B1"].Value = "田中";
sheet.Range["B2"].NumberValue = 3.3;
sheet.Range["B3"].NumberValue = 2.5;
sheet.Range["B4"].NumberValue = 2.0;
sheet.Range["B5"].NumberValue = 3.7;
sheet.Range["B6"].NumberValue = 4.5;
sheet.Range["B7"].NumberValue = 4.0;
sheet.Range["C1"].Value = "大森";
sheet.Range["C2"].NumberValue = 3.8;
sheet.Range["C3"].NumberValue = 3.2;
sheet.Range["C4"].NumberValue = 1.7;
sheet.Range["C5"].NumberValue = 3.5;
sheet.Range["C6"].NumberValue = 4.5;
sheet.Range["C7"].NumberValue = 4.3;
sheet.Range["D1"].Value = "小川";
sheet.Range["D2"].NumberValue = 3.0;
sheet.Range["D3"].NumberValue = 2.8;
sheet.Range["D4"].NumberValue = 3.5;
sheet.Range["D5"].NumberValue = 2.3;
sheet.Range["D6"].NumberValue = 3.3;
sheet.Range["D7"].NumberValue = 3.8;
Chart chart = sheet.Charts.Add(ExcelChartType.Column3DClustered);
chart.DataRange = sheet.Range["B1:D7"];
chart.SeriesDataFromRange = false;
chart.TopRow = 7;
chart.BottomRow = 28;
chart.LeftColumn = 3;
chart.RightColumn = 11;
chart.ChartTitle = "シミュレートされたデータテーブルを含む棒グラフの例";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];
cs1.CategoryLabels = sheet.Range["A2:A7"];
chart.HasDataTable = true;
workbook.SaveToFile("S3.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("S3.xlsx");
}
}
}
今回のExcelでデータテーブルをグラフに追加する方法は以上でした、最後まで読んでいただきありがとうございました。