チュートリアル

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

チュートリアル»Java»Spire.XLS for Java»グラフ»Java:Excel で折れ線グラフを作成する方法
2023-03-21

Java:Excel で折れ線グラフを作成する方法

折れ線グラフは、特定の期間におけるデータの変化または傾向を表す基本的なグラフのタイプです。このグラフはデータ点を折れ線で接続します。折れ線グラフは1つのデータセットの単線を含むことも、2つ以上のデータセットの複数線を含むこともできます。この記事では、Spire.XLS for Java を使用して Excel で折れ線グラフを作成する方法を紹介します。

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

まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>13.3.1</version>
    </dependency>
</dependencies>

Excel で折れ線グラフを作成する

Spire.XLS for Java では、Worksheet.getCharts().add(ExcelChartType.Line) メソッドはシートに折れ線グラフを追加することをサポートしています。次に、必要なデータ範囲とグラフの要素を設定します。以下に詳細な操作手順を示します。

  • Workbook クラスのインスタンスを作成します。
  • Workbook.getWorksheets().get(sheetIndex) メソッドを使用して、インデックス(ゼロから始まる)で最初のワークシートを取得します。
  • シートにデータを追加します。
  • Worksheet.getCharts().add(ExcelChartType.Line) メソッドを使用して、シートに折れ線グラフを追加します。
  • Chart.setDataRange() メソッドを使用して、グラフのデータ範囲を設定します。
  • グラフの位置、タイトル、カテゴリ軸のタイトル、数値軸のタイトルを設定します。
  • グラフのデータ系列をループします。
  • ChartSerie.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true) メソッドを使用して、各データ系列のデータポイントのデータ ラベルを表示します。
  • Chart.getLegend().setPosition() メソッドを使用して、グラフの凡例の位置を設定します。
  • Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。
  • Java
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;

import java.awt.*;

public class CreateLineChart {
    public static void main(String []args){
        //Workbookのインスタンスを作成する
        Workbook workbook = new Workbook();

        //最初のシートを取得する
        Worksheet sheet = workbook.getWorksheets().get(0);
        //シート名を設定する
        sheet.setName("Line Chart");;
        //グリッド線を隠す
        sheet.setGridLinesVisible(false);

        //シートにデータを追加する
        sheet.getRange().get("A1").setValue("国");
        sheet.getRange().get("A2").setValue("キューバ. ");
        sheet.getRange().get("A3").setValue("メキシコ. ");
        sheet.getRange().get("A4").setValue("フランス. ");
        sheet.getRange().get("A5").setValue("ドイツ");

        sheet.getRange().get("B1").setValue("6月");
        sheet.getRange().get("B2").setNumberValue(3300);
        sheet.getRange().get("B3").setNumberValue(2300);
        sheet.getRange().get("B4").setNumberValue(4500);
        sheet.getRange().get("B5").setNumberValue(6700);

        sheet.getRange().get("C1").setValue("7月");
        sheet.getRange().get("C2").setNumberValue(7500);
        sheet.getRange().get("C3").setNumberValue(2900);
        sheet.getRange().get("C4").setNumberValue(2300);
        sheet.getRange().get("C5").setNumberValue(4200);

        sheet.getRange().get("D1").setValue("8月");
        sheet.getRange().get("D2").setNumberValue(7700);
        sheet.getRange().get("D3").setNumberValue(6900);
        sheet.getRange().get("D4").setNumberValue(8400);
        sheet.getRange().get("D5").setNumberValue(4200);

        sheet.getRange().get("E1").setValue("9月");
        sheet.getRange().get("E2").setNumberValue(8000);
        sheet.getRange().get("E3").setNumberValue(7200);
        sheet.getRange().get("E4").setNumberValue(8300);
        sheet.getRange().get("E5").setNumberValue(5600);

        //指定したセルのフォントと塗りつぶし色を設定する
        sheet.getRange().get("A1:E1").getStyle().getFont().isBold(true);
        sheet.getRange().get("A2:E2").getStyle().setKnownColor(ExcelColors.LightYellow);;
        sheet.getRange().get("A3:E3").getStyle().setKnownColor(ExcelColors.LightGreen1);
        sheet.getRange().get("A4:E4").getStyle().setKnownColor(ExcelColors.LightOrange);
        sheet.getRange().get("A5:E5").getStyle().setKnownColor(ExcelColors.LightTurquoise);

        //セルの枠線を設定する
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeTop).setColor(new Color(0, 0, 128));
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeTop).setLineStyle(LineStyleType.Thin);
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setColor(new Color(0, 0, 128));
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Thin);
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setColor(new Color(0, 0, 128));
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setLineStyle(LineStyleType.Thin);
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeRight).setColor(new Color(0, 0, 128));
        sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeRight).setLineStyle(LineStyleType.Thin);

        //数値のフォーマットを設定する
        sheet.getRange().get("B2:D5").getStyle().setNumberFormat("\"$\"#,##0");

        //シートへの折れ線グラフを追加する
        Chart chart = sheet.getCharts().add(ExcelChartType.Line);

        //グラフのデータ範囲を設定する
        chart.setDataRange(sheet.getRange().get("A1:E5"));

        //グラフの位置を設定する
        chart.setLeftColumn(1);
        chart.setTopRow(6);
        chart.setRightColumn(11);
        chart.setBottomRow(29);

        //グラフのタイトルを設定してフォーマットする
        chart.setChartTitle("販売レポート");
        chart.getChartTitleArea().isBold(true);
        chart.getChartTitleArea().setSize(12);

        //カテゴリ軸のタイトルを設定してフォーマットする
        chart.getPrimaryCategoryAxis().setTitle("月");
        chart.getPrimaryCategoryAxis().getFont().isBold(true);
        chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);

        //値軸のタイトルを設定してフォーマットする
        chart.getPrimaryValueAxis().setTitle("売上高");
        chart.getPrimaryValueAxis().hasMajorGridLines(false);
        chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(-90);
        chart.getPrimaryValueAxis().setMinValue(1000);
        chart.getPrimaryValueAxis().getTitleArea().isBold(true);

        //グラフのデータ系列をループする
       for(ChartSerie cs : (Iterable) chart.getSeries())
        {
            cs.getFormat().getOptions().isVaryColor(true);
            //データポイントのデータラベルを表示する
            cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
        }

        //グラフの凡例の位置を設定する
        chart.getLegend().setPosition(LegendPositionType.Top);

        //結果ファイルを保存する
        workbook.saveToFile("LineChart.xlsx", ExcelVersion.Version2016);
    }
}

Java:Excel で折れ線グラフを作成する方法

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

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

Read 589 times