チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.XLS for .NET»グラフ»C#/VB.NET:Excel で縦棒グラフを作成する方法
2022-10-24

C#/VB.NET:Excel で縦棒グラフを作成する方法

縦棒グラフは、データを矩形列として視覚化するグラフで、列の高さはデータ点の値を示します。Excel で縦棒グラフを作成することは、データを比較し、時間とともにデータを表示するための良い方法です。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによって Excel 縦棒グラフを作成する方法を紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれているDLLファイルを.NETプロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel で縦棒グラフを作成する

詳細な操作手順は次のとおりです。

  • Workbook インスタンスを作成します。
  • Workbook.Worksheets[sheetIndex] プロパティを使用して、最初のシートを取得します。
  • 指定したセルにデータを追加し、セルスタイルを設定します。
  • Worksheet.Charts.Add(ExcelChartType.ColumnClustered) メソッド使用して、シートに集合縦棒グラフを追加します。
  • Chart.DataRange プロパティを使用して、グラフのデータ範囲を設定します。
  • グラフの位置、タイトル、カテゴリ軸、値軸を設定します。
  • グラフのデータ系列をループし、ChartSerie.DataPoints.DefaultDataPoint.DataLabels.HasValue プロパティをtrueに設定することで、データポイントのデータラベルを表示します。
  • Chart.Legend.Positionプロパティを使用して、グラフの凡例の位置を設定します。
  • Workbook.SaveToFile() メソッドを使用して、結果文書を保存します。
  • C#
  • VB.NET
using System.Drawing;
using Spire.Xls;
using Spire.Xls.Charts;

namespace ColumnChart
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookインスタンスを作成する
            Workbook workbook = new Workbook();

            //最初のシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //指定したセルにデータを追加する
            sheet.Range["A1"].Value = "国";
            sheet.Range["A2"].Value = "キューバ.";
            sheet.Range["A3"].Value = "メキシコ.";
            sheet.Range["A4"].Value = "フランス.";
            sheet.Range["A5"].Value = "ドイツ.";

            sheet.Range["B1"].Value = " A社";
            sheet.Range["B2"].NumberValue = 5000;
            sheet.Range["B3"].NumberValue = 8000;
            sheet.Range["B4"].NumberValue = 9000;
            sheet.Range["B5"].NumberValue = 8500;

            sheet.Range["C1"].Value = "B社";
            sheet.Range["C2"].NumberValue = 3000;
            sheet.Range["C3"].NumberValue = 5000;
            sheet.Range["C4"].NumberValue = 7000;
            sheet.Range["C5"].NumberValue = 6000;

            //セルスタイルを設定する
            sheet.Range["A1:C1"].Style.Font.IsBold = true;
            sheet.Range["A1:C1"].Style.KnownColor = ExcelColors.Black;
            sheet.Range["A1:C1"].Style.Font.Color = Color.White;
            sheet.Range["A1:C5"].Style.HorizontalAlignment = HorizontalAlignType.Center;
            sheet.Range["A1:C5"].Style.VerticalAlignment = VerticalAlignType.Center;

            //数値のフォーマットを設定する
            sheet.Range["B2:C5"].Style.NumberFormat = "\"$\"#,##0";

            //シートに集合縦棒グラフを追加する
            Chart chart = sheet.Charts.Add(ExcelChartType.ColumnClustered);

            //グラフのデータ範囲を設定する
            chart.DataRange = sheet.Range["A1:C5"];
            chart.SeriesDataFromRange = false;

            //グラフの位置を設定する
            chart.LeftColumn = 1;
            chart.TopRow = 7;
            chart.RightColumn = 11;
            chart.BottomRow = 29;

            //グラフのタイトルの設定と書式設定
            chart.ChartTitle = " A社とB社の販売状況";
            chart.ChartTitleArea.Font.Size = 13;
            chart.ChartTitleArea.Font.IsBold = true;

            //カテゴリ軸の設定と書式設定
            chart.PrimaryCategoryAxis.Title = "国";
            chart.PrimaryCategoryAxis.Font.Color = Color.Blue;

            //値軸の設定と書式設定
            chart.PrimaryValueAxis.Title = "売上高";
            chart.PrimaryValueAxis.HasMajorGridLines = false;
            chart.PrimaryValueAxis.MinValue = 1000;
            chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;

            //データポイントのデータラベルを表示する 
            foreach (ChartSerie cs in chart.Series)
            {
                cs.Format.Options.IsVaryColor = true;
                cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
            }

            //グラフの凡例の位置を設定する
            chart.Legend.Position = LegendPositionType.Top;

            //結果文書を保存する
            workbook.SaveToFile("ExcelColumnChart.xlsx", ExcelVersion.Version2010);
        }
    }
}
Imports Spire.Xls
Imports Spire.Xls.Charts

Namespace ColumnChart
    Class Program
        Private Shared Sub Main(ByVal args() As String)

            'Workbookインスタンスを作成する
            Dim workbook As Workbook = New Workbook

            '最初のシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '指定したセルにデータを追加する
            sheet.Range("A1").Value = "国"
            sheet.Range("A2").Value = "キューバ. "
            sheet.Range("A3").Value = "メキシコ. "
            sheet.Range("A4").Value = "フランス. "
            sheet.Range("A5").Value = "ドイツ. "

            sheet.Range("B1").Value = " A社"
            sheet.Range("B2").NumberValue = 5000
            sheet.Range("B3").NumberValue = 8000
            sheet.Range("B4").NumberValue = 9000
            sheet.Range("B5").NumberValue = 8500

            sheet.Range("C1").Value = " B社"
            sheet.Range("C2").NumberValue = 3000
            sheet.Range("C3").NumberValue = 5000
            sheet.Range("C4").NumberValue = 7000
            sheet.Range("C5").NumberValue = 6000

            'セルスタイルを設定する
            sheet.Range("A1:C1").Style.Font.IsBold = True
            sheet.Range("A1:C1").Style.KnownColor = ExcelColors.Black
            sheet.Range("A1:C1").Style.Font.Color = Color.White
            sheet.Range("A1:C5").Style.HorizontalAlignment = HorizontalAlignType.Center
            sheet.Range("A1:C5").Style.VerticalAlignment = VerticalAlignType.Center

            '数値のフォーマットを設定する
            sheet.Range("B2:C5").Style.NumberFormat = """$""#,##0"

            'シートに集合縦棒グラフを追加する
            Dim chart As Chart = sheet.Charts.Add(ExcelChartType.ColumnClustered)

            'グラフのデータ範囲を設定する
            chart.DataRange = sheet.Range("A1:C5")
            chart.SeriesDataFromRange = False

            'グラフの位置を設定する
            chart.LeftColumn = 1
            chart.TopRow = 7
            chart.RightColumn = 11
            chart.BottomRow = 29

            'グラフのタイトルの設定と書式設定
            chart.ChartTitle = " A社とB社の販売状況"
            chart.ChartTitleArea.Font.Size = 13
            chart.ChartTitleArea.Font.IsBold = True

            'カテゴリ軸の設定と書式設定
            chart.PrimaryCategoryAxis.Title = "国"
            chart.PrimaryCategoryAxis.Font.Color = Color.Blue

            '値軸の設定と書式設定
            chart.PrimaryValueAxis.Title = "売上高"
            chart.PrimaryValueAxis.HasMajorGridLines = False
            chart.PrimaryValueAxis.MinValue = 1000
            chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

            'データポイントのデータラベルを表示する 
            For Each cs As ChartSerie In chart.Series
                cs.Format.Options.IsVaryColor = True
                cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
            Next

            'グラフの凡例の位置を設定する
            chart.Legend.Position = LegendPositionType.Top

            '結果文書を保存する
            workbook.SaveToFile("ExcelColumnChart.xlsx", ExcelVersion.Version2010)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel で縦棒グラフを作成する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 870 times