チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
円グラフは、セクターに分割された円形のグラフであり、各セクターは全体の比例部分を表します。 データはグラフの形式で表示されるため、ユーザーはデータを簡単に分析および比較できます。 ドーナツ グラフに関しては、中央に「穴」があることを除いて、円グラフと同じ機能を実行します。この記事では、Spire.XLS for Java を使用して、Excel で円グラフまたはドーナツグラフを作成する方法を示します。
まず、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>14.2.4</version>
</dependency>
</dependencies>
Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Pie) メソッドは、ワークシートへに円グラフの追加をサポートしています。詳細な手順は次のとおりです。
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class CreatePieChart {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//指定したセルにデータを挿入する
sheet.getCellRange("A1").setValue("年");
sheet.getCellRange("A2").setValue("2002");
sheet.getCellRange("A3").setValue("2003");
sheet.getCellRange("A4").setValue("2004");
sheet.getCellRange("A5").setValue("2005");
sheet.getCellRange("B1").setValue("売上");
sheet.getCellRange("B2").setNumberValue(4000);
sheet.getCellRange("B3").setNumberValue(6000);
sheet.getCellRange("B4").setNumberValue(7000);
sheet.getCellRange("B5").setNumberValue(8500);
//セルのスタイルを設定する
sheet.getCellRange("A1:B1").setRowHeight(15);
sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:B5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:B5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
//数値フォーマットを設定する
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//円グラフをワークシートに追加する
Chart chart = sheet.getCharts().add(ExcelChartType.Pie);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getCellRange("B2:B5"));
chart.setSeriesDataFromRange(false);
//グラフの位置を設定する
chart.setLeftColumn(3);
chart.setTopRow(1);
chart.setRightColumn(11);
chart.setBottomRow(20);
//グラフのタイトルを設定または書式設定する
chart.setChartTitle("年別売上高");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);
//グラフから指定された系列を取得する
ChartSerie cs = chart.getSeries().get(0);
//シリーズのカテゴリラベルを設定する
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
//シリーズの値を設定する
cs.setValues(sheet.getCellRange("B2:B5"));
//データポイントのデータラベルを表示する
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
//結果ファイルを保存する
workbook.saveToFile("PieChart.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Spire.XLS for Java が提供する Worksheet.getCharts().add(ExcelChartType.Doughnut) メソッドは、ワークシートへにドーナツグラフの追加をサポートしています。詳細な手順は次のとおりです。
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import com.spire.xls.charts.ChartSeries;
import java.awt.*;
public class CreateDoughnutChart {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//指定したセルにデータを挿入する
sheet.getCellRange("A1").setValue("国");
sheet.getCellRange("A2").setValue("キューバ");
sheet.getCellRange("A3").setValue("メキシコ");
sheet.getCellRange("A4").setValue("ドイツ");
sheet.getCellRange("A5").setValue("日本");
sheet.getCellRange("B1").setValue("売上");
sheet.getCellRange("B2").setNumberValue(6000);
sheet.getCellRange("B3").setNumberValue(8000);
sheet.getCellRange("B4").setNumberValue(9000);
sheet.getCellRange("B5").setNumberValue(8500);
//セルのスタイルを設定する
sheet.getCellRange("A1:B1").setRowHeight(15);
sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:B5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:B5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
//数値フォーマットを設定する
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//ドーナツグラフをワークシートに追加する
Chart chart = sheet.getCharts().add(ExcelChartType.Doughnut);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getCellRange("A1:B5"));
chart.setSeriesDataFromRange(false);
//グラフの位置を設定する
chart.setLeftColumn(3);
chart.setTopRow(1);
chart.setRightColumn(11);
chart.setBottomRow(20);
//グラフのタイトルを設定する
chart.setChartTitle("国別の市場シェア");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);
//データポイントのデータラベルを表示する
ChartSeries series = chart.getSeries();
for (int i = 0 ; i < series.size() ; i++) {
ChartSerie cs = series.get(i);
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasPercentage(true);
}
//グラフの凡例の位置を設定する
chart.getLegend().setPosition(LegendPositionType.Top);
//結果ファイルを保存する
workbook.saveToFile("DoughnutChart.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
画像は、さまざまな Web プラットフォームやドキュメントに埋め込んで表示できる、広くサポートされている形式です。 Excel グラフを Web サイトで公開する場合、または Excel グラフをビデオやプレゼンテーションに組み込む場合、画像に変換することは優れたオプションです。 これにより、互換性の問題がなくなり、他のユーザーが図に正常にアクセスできるようになります。この記事では、Spire.XLS for Java を使用して Excel グラフを画像に変換する方法を示します。
まず、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>14.2.4</version>
</dependency>
</dependencies>
Spire.XLS for Java には、ワークシート内の特定のグラフを画像として変換するための Workbook.saveChartAsImage(Worksheet worksheet, int chartIndex) メソッドが用意されています。詳細な手順は次のとおりです。
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertAExcelChartToImage {
public static void main(String[] args) throws IOException {
//Workbook クラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//サンプル Excel ファイルをロードする
workbook.loadFromFile("Charts.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//そのシートの最初のグラフを画像として保存する
BufferedImage image = workbook.saveChartAsImage(sheet, 0);
//画像を .png ファイルに保存する
ImageIO.write(image, "PNG", new File("Image\\chart.png"));
workbook.dispose();
}
}
ワークシート内のすべてのグラフを画像に変換するには、Workbook.saveChartAsImage(Worksheet worksheet) メソッドを使用してください。詳細な手順は次のとおりです。
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertAllExcelChartsToImage {
public static void main(String[] args) throws IOException {
//Workbook クラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//サンプル Excel ファイルをロードする
workbook.loadFromFile("Charts.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//そのシート内のすべてのグラフを画像として保存する
BufferedImage[] imgs = workbook.saveChartAsImage(sheet);
//画像を .png ファイルに保存する
for (int i = 0; i < imgs.length; i++)
{
File file = new File("Image\\" + String.format(("chart-%d.png"), i));
ImageIO.write(imgs[i], "PNG", file);
}
workbook.dispose();
}
}
Excel のグラフ シートは、グラフの表示専用の別のシートです。Workbook.saveChartAsImage(ChartSheet chartSheet) メソッドを使用して、Excel でグラフ シートを画像に変換できます。詳細な手順は次のとおりです。
import com.spire.xls.ChartSheet;
import com.spire.xls.Workbook;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertExcelChartSheetToImage {
public static void main(String[] args) throws IOException {
//Workbook クラスのインスタンスを初期化する
Workbook workbook = new Workbook();
//サンプル Excel ファイルをロードする
workbook.loadFromFile("ChartSheet.xlsx");
//最初のグラフシートを取得する
ChartSheet chartSheet = workbook.getChartsheets().get(0);
//そのグラフシートを画像として保存する
BufferedImage image = workbook.saveChartAsImage(chartSheet);
//画像を .png ファイルに保存する
ImageIO.write(image, "PNG", new File("Image\\chartSheet.png"));
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
テキストボックスは、移動可能な要素であり、ユーザーがテキストを入力または編集することができるようにします。Excel ファイルを処理する際、元のグラフのテキスト説明が不十分な場合、テキストボックスを追加して追加情報をグラフに追加することができます。この記事では、Spire.XLS for Java を使用して、Java で Excel のグラフにテキストボックスを追加する方法を示します。
まず、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.11.6</version>
</dependency>
</dependencies>
Spire.XLS for Java が提供する Chart.getShapes().addTextBox() メソッドは、グラフへのテキスト ボックスの挿入をサポートしています。 次に、ITextBoxLinkShape.setText() メソッドを使用して、このテキストボックスにテキストを挿入します。 以下に詳細な手順を示します。
import com.spire.xls.*;
import com.spire.xls.core.*;
public class addTextBoxToChart {
public static void main(String[] args)throws Exception {
//Workbookインスタンスを作成する
Workbook workbook = new Workbook();
//Excelファイルを読み込む
workbook.loadFromFile("Sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//最初のグラフを取得する
Chart chart = sheet.getCharts().get(0);
//グラフにテキストボックスを追加する
ITextBoxLinkShape textbox = chart.getShapes().addTextBox();
textbox.setText("2023年12月12日、中本によって修正された。");
//テキストボックスのサイズと位置を設定する
textbox.setWidth(1100);
textbox.setHeight(480);
textbox.setLeft(2800);
textbox.setTop(480);
//結果ファイルを保存する
workbook.saveToFile("AddTextBoxToChart.xlsx", ExcelVersion.Version2013);
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
ウォーターフォールグラフ、ブリッジグラフやカスケードグラフとも呼ばれるものは、Excel で最も直感的なグラフの一つです。それは、一定期間におけるデータの積極的な影響と消極的な影響の累積効果を表示することができます。この機能は、損益計算書の可視化、プロジェクトの予算変更の表示、店舗の在庫計算など、定量分析が必要な多くの場面で役立ちます。この記事では、Spire.XLS for Java を使用して Excel でウォーターフォールグラフを作成する方法を紹介します。
まず、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.5.2</version>
</dependency>
</dependencies>
ウォーターフォールグラフはは財務諸表を分析する理想的なツールです。まず、Worksheet.getCharts().add() メソッドを使用して指定されたワークシートにグラフを追加します。次に、Chart.setChartType(ExcelChartType.WaterFall) メソッドを使用してグラフの種類をウォーターフォールに設定します。以下は詳細な手順です。
import com.spire.xls.*;
public class WaterfallChart {
public static void main(String []args){
//Workbookインスタンスを作成する
Workbook workbook=new Workbook();
//Excel文書を読み込む
workbook.loadFromFile("sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet=workbook.getWorksheets().get(0);
//シートにウォーターフォールグラフを追加する
Chart chart=sheet.getCharts().add();
chart.setChartType(ExcelChartType.WaterFall);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getRange().get("A2:B11"));
//グラフの位置を設定する
chart.setLeftColumn(4);
chart.setTopRow(2);
chart.setRightColumn(15);
chart.setBottomRow(23);
//グラフのタイトルを設定する
chart.setChartTitle("損益計算書");
//グラフの特定のデータポイントを合計または小計に設定する
chart.getSeries().get(0).getDataPoints().get(2).setAsTotal(true);
chart.getSeries().get(0).getDataPoints().get(7).setAsTotal(true);
chart.getSeries().get(0).getDataPoints().get(9).setAsTotal(true);
//データポイント間の接続線を表示する
chart.getSeries().get(0).getFormat().showConnectorLines(true);
//データポイントのデータラベルを表示する
chart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
chart.getSeries().get(0).getDataPoints().getDefaultDataPoint().getDataLabels().setSize(8);
//グラフの凡例位置を設定する
chart.getLegend().setPosition(LegendPositionType.Top);
//結果文書を保存する
workbook.saveToFile("WaterfallChart.xlsx",FileFormat.Version2016);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
折れ線グラフは、特定の期間におけるデータの変化または傾向を表す基本的なグラフのタイプです。このグラフはデータ点を折れ線で接続します。折れ線グラフは1つのデータセットの単線を含むことも、2つ以上のデータセットの複数線を含むこともできます。この記事では、Spire.XLS for Java を使用して Excel で折れ線グラフを作成する方法を紹介します。
まず、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>
Spire.XLS for Java では、Worksheet.getCharts().add(ExcelChartType.Line) メソッドはシートに折れ線グラフを追加することをサポートしています。次に、必要なデータ範囲とグラフの要素を設定します。以下に詳細な操作手順を示します。
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);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
棒グラフは、同じ幅で異なる長さの水平矩形バーで、データを表したりまとめたりするグラフです。MS Excel では、棒グラフは異なるグループのデータを比較し、ユーザーがデータを迅速に分析して結論を出すのを支援する良いツールです。この記事では、Spire.XLS for Java を使用して Excel で集合横棒グラフまたは積み上げ横棒グラフを作成する方法を紹介します。
まず、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>12.12.4</version>
</dependency>
</dependencies>
集合横棒グラフでは、異なるシリーズのデータ値が個別の矩形に並んで表示されます。この方法は、ユーザーが各カテゴリの複数のデータを直接比較するのに役立ちます。以下に詳細な操作手順を示します。
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import com.spire.xls.charts.ChartSeries;
import java.awt.*;
public class CreateBarChart {
public static void main(String[] args) {
//Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//指定されたセルにデータを挿入する
sheet.getCellRange("A1").setValue("国");
sheet.getCellRange("A2").setValue("キューバ");
sheet.getCellRange("A3").setValue("メキシコ");
sheet.getCellRange("A4").setValue("フランス");
sheet.getCellRange("A5").setValue("ドイツ.");
sheet.getCellRange("B1").setValue("7月");
sheet.getCellRange("B2").setNumberValue(6000);
sheet.getCellRange("B3").setNumberValue(8000);
sheet.getCellRange("B4").setNumberValue(9000);
sheet.getCellRange("B5").setNumberValue(8500);
sheet.getCellRange("C1").setValue("8月");
sheet.getCellRange("C2").setNumberValue(3000);
sheet.getCellRange("C3").setNumberValue(2000);
sheet.getCellRange("C4").setNumberValue(6000);
sheet.getCellRange("C5").setNumberValue(3500);
//セルのスタイルを設定する
sheet.getCellRange("A1:C1").setRowHeight(15);
sheet.getCellRange("A1:C1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:C1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:C5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:C5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
//数値フォーマットを設定する
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//指定したワークシートに 集合横棒グラフを追加する
Chart chart = sheet.getCharts().add(ExcelChartType.BarClustered);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getCellRange("A1:C5"));
chart.setSeriesDataFromRange(false);
//グラフの位置を設定する
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.getPrimaryCategoryAxis().getTitleArea().setTextRotationAngle(90);
//値軸のタイトルを設定してフォーマットする
chart.getPrimaryValueAxis().setTitle("売上高");
chart.getPrimaryValueAxis().hasMajorGridLines(false);
chart.getPrimaryValueAxis().setMinValue(1000);
chart.getPrimaryValueAxis().getTitleArea().isBold(true);
//データポイントのデータラベルを表示する
ChartSeries series = chart.getSeries();
for (int i = 0;i < series.size();i++)
{
ChartSerie cs = series.get(i);
cs.getFormat().getOptions().isVaryColor(true);
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
}
//グラフの凡例の位置を設定する
chart.getLegend().setPosition(LegendPositionType.Top);
//結果ファイルを保存する
workbook.saveToFile("CreateBarChart.xlsx", ExcelVersion.Version2016);
}
}
積み上げ横棒グラフでは、異なるシリーズのデータ値が同じ矩形に表示されます。集合横棒グラフよりも、積み上げ横棒グラフの方が、各カテゴリの一部から全体までの違いを明確に反映することができます。以下に詳細な操作手順を示します。
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import com.spire.xls.charts.ChartSeries;
import java.awt.*;
public class CreateBarChart {
public static void main(String[] args) {
//Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//指定されたセルにデータを挿入する
sheet.getCellRange("A1").setValue("国");
sheet.getCellRange("A2").setValue("キューバ");
sheet.getCellRange("A3").setValue("メキシコ");
sheet.getCellRange("A4").setValue("フランス");
sheet.getCellRange("A5").setValue("ドイツ");
sheet.getCellRange("B1").setValue("7月");
sheet.getCellRange("B2").setNumberValue(6000);
sheet.getCellRange("B3").setNumberValue(8000);
sheet.getCellRange("B4").setNumberValue(9000);
sheet.getCellRange("B5").setNumberValue(8500);
sheet.getCellRange("C1").setValue("8月");
sheet.getCellRange("C2").setNumberValue(3000);
sheet.getCellRange("C3").setNumberValue(2000);
sheet.getCellRange("C4").setNumberValue(6000);
sheet.getCellRange("C5").setNumberValue(3500);
//セルのスタイルを設定する
sheet.getCellRange("A1:C1").setRowHeight(15);
sheet.getCellRange("A1:C1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:C1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:C5").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:C5").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
//数値フォーマットを設定する
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//指定したワークシートに積み上げ横棒グラフを追加する
Chart chart = sheet.getCharts().add(ExcelChartType.BarStacked);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getCellRange("A1:C5"));
chart.setSeriesDataFromRange(false);
//グラフの位置を設定する
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.getPrimaryCategoryAxis().getTitleArea().setTextRotationAngle(90);
//値軸のタイトルを設定してフォーマットする
chart.getPrimaryValueAxis().setTitle("売上高");
chart.getPrimaryValueAxis().hasMajorGridLines(false);
chart.getPrimaryValueAxis().setMinValue(1000);
chart.getPrimaryValueAxis().getTitleArea().isBold(true);
//データポイントのデータラベルを表示する
ChartSeries series = chart.getSeries();
for (int i = 0;i < series.size();i++)
{
ChartSerie cs = series.get(i);
cs.getFormat().getOptions().isVaryColor(true);
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
}
//グラフの凡例の位置を設定する
chart.getLegend().setPosition(LegendPositionType.Top);
//結果ファイルを保存する
workbook.saveToFile("StackedBarChart.xlsx", ExcelVersion.Version2016);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。