Word ファイルに視覚データを直接埋め込むことで、静的なレポートを魅力的なプレゼンテーションに変えることができます。Conholdate.Total for Java は、チャートの作成と DOCX ドキュメントへの挿入を簡素化する堅牢な SDK を提供します。このガイドでは、Java を使用して Word ドキュメントにチャートを作成する 完全なコンパイル可能なサンプルを順を追って説明し、チャートの設定方法と結果の保存方法を示します。最後まで読むと、あらゆるビジネスレポートシナリオにおいて動的チャートを用いたドキュメント生成を自動化できるようになります。

Java を使用した Word ドキュメントへのチャート埋め込みの完全動作サンプル

この例では、5つのデータ系列を持つ縦棒グラフを作成し、Word ドキュメントに挿入する方法を示します。

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
import com.aspose.words.ChartSeriesCollection;

public class CreateChartInWord {
    public static void main(String[] args) {
        // Create a document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Add chart with default data. You can specify different chart types and sizes.
        Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);

// Chart property of Shape contains all chart related options.
        Chart chart = shape.getChart();

// Get chart series collection.
        ChartSeriesCollection seriesColl = chart.getSeries();
        // Check series count.
        System.out.println(seriesColl.getCount());

// Delete default generated series.
        seriesColl.clear();

// Create category names array, in this example we have two categories.
        String[] categories = new String[] { "AW Category 1", "AW Category 2" };

// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
        seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
        seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
        seriesColl.add("AW Series 3", categories, new double[] { 5, 6 });
        seriesColl.add("AW Series 4", categories, new double[] { 7, 8 });
        seriesColl.add("AW Series 5", categories, new double[] { 9, 10 });

// Save the document
        doc.save("ColumnsChart.docx");
    }
}

注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、出力パス(ColumnsChart.docx)が書き込み可能なディレクトリを指していることを確認し、すべての必須依存関係が正しくインストールされているかを検証し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント または サポートチーム にお問い合わせください。

Java を使用して Word ドキュメントにチャートを作成する方法

ワークフローは5つの明確なステップに分解できます:

  1. ドキュメントと DocumentBuilder の作成 - Document クラスはメモリ内の Word ファイルを表し、DocumentBuilder はチャートを含むコンテンツの挿入のための流暢な API を提供します。

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. チャート シェイプの挿入 - insertChartChartType(例:COLUMN)と幅と高さ(ポイント単位)を受け取り、ページ上にチャートをホストする Shape を返します。

    Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
    
  3. Chart オブジェクトにアクセス - ShapeChart プロパティは、シリーズコレクションを含むすべてのチャート関連オプションを公開します。

Chart chart = shape.getChart();
ChartSeriesCollection seriesColl = chart.getSeries();
System.out.println(seriesColl.getCount());

API リファレンスChartChartSeriesCollection、および関連列挙体の詳細をご確認ください。

  1. デフォルトの系列をクリアして独自の系列を追加 - 新しく挿入されたチャートにはプレースホルダー系列が既に含まれているため、clear()でそれらを削除し、add()でカテゴリとデータを追加します。同じadd()呼び出しに渡すカテゴリ配列と値配列は同じ長さでなければなりません。
    seriesColl.clear();
    

String[] categories = new String[] { “AW Category 1”, “AW Category 2” };

seriesColl.add(“AW Series 1”, categories, new double[] { 1, 2 }); seriesColl.add(“AW Series 2”, categories, new double[] { 3, 4 });

<!--[CODE_SNIPPET_END]-->

5. **ドキュメントを保存** - 最後に、`doc.save()` が DOCX をディスクに書き込みます。  
<!--[CODE_SNIPPET_START]-->  
```java
doc.save("ColumnsChart.docx");

これらの手順をそれぞれ理解すれば、さまざまなチャートタイプ、データソース、またはドキュメントテンプレートに合わせて例を簡単に適応できます。

環境の準備

Conholdate Maven リポジトリと SDK 依存関係を pom.xml に追加します:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

最新の SDK パッケージは ダウンロードページ から取得できます。ライブラリは Java 8 以上が必要で、標準的な JVM 上で動作します。追加のサーバー コンポーネントは不要です。

チャート生成の微調整

視覚スタイルに合わせて、いくつかのプロパティを調整できます:

  • チャート タイプ - ChartType.COLUMNChartType.BARChartType.LINEChartType.PIEChartType.SCATTER、およびその他のサポートされているタイプに変更します。
Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
  • チャートサイズ - insertChart の2番目と3番目の引数は、ポイント単位でチャート シェイプの幅と高さを制御します。

    Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);
    
  • Categories (axis labels) - カテゴリ名の String[] を作成し、同じカテゴリを共有するすべてのシリーズで再利用します。

String[] categories = new String[] { "Jan", "Feb", "Mar" };
  • データ シリーズ - seriesColl.add() を呼び出し、シリーズ名、カテゴリ配列、および double[] の値を指定して、必要なだけ比較シリーズを追加します。
    seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
    

これらのオプションを使用すると、コードを簡潔に保ちながら、あらゆるレポート要件に合わせてチャートを調整できます。

Java を使用して Word ドキュメントに散布図を挿入する

散布図はカテゴリではなく数値の X と Y のペアをプロットします。これにより、相関関係や分布の可視化に役立ちます。ChartSeriesCollection はこの目的のために add() のオーバーロードを提供しています。カテゴリ配列の代わりに、X 値用の double[] 配列と Y 値用の double[] 配列の 2 つを渡します。

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;

public class InsertScatterChart {
    public static void main(String[] args) {
        // Create a new document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Scatter chart.
        Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252);
        Chart chart = shape.getChart();

// Use this overload to add series to any type of Scatter charts.
        chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });

// Save the document
        doc.save("ScatterChart.docx");
    }
}

全体のフローは列チャートの例と同様です。DocumentDocumentBuilder を作成し、ChartType.SCATTER でチャート シェイプを挿入し、シェイプから Chart を取得して、1 つまたは複数のシリーズを追加します。散布図は X/Y 座標ペアをプロットするため、別個のカテゴリ配列は存在せず、各ポイントは X と Y の値配列の対応するエントリによって定義されます。すべてのシリーズを追加したら doc.save() で保存します。

結論

視覚データをDOCXファイルに直接埋め込むことは、レポートの自動化を強化する強力な方法です。Conholdate.Total for Java を使用すれば、Java で数行のコードだけで Word 文書にチャートを作成できます。列、棒、折れ線、円、散布図などのチャートを含み、カテゴリやシリーズをカスタマイズし、サーバー側でプロフェッショナルな外観の文書を生成できます。 本番環境で使用するには適切なライセンスを取得することを忘れないでください。臨時ライセンスはtemporary license pageで入手でき、完全な価格情報はpricing pageで確認できます。 今日からチャート生成の統合を始め、ユーザーに際立ったデータ駆動型文書を提供しましょう。

FAQs

  • Java と Conholdate.Total を使用して Word 文書にチャートを作成するにはどうすればよいですか? DocumentBuilderinsertChart を希望する ChartType で呼び出し、返された Shape から Chart を取得し、デフォルトのシリーズをクリアして、seriesColl.add() で独自のカテゴリとデータを追加し、ドキュメントを保存します。完全なコードは上記の例に示されています。

  • どのチャートタイプがサポートされていますか? SDK は ChartType 列挙体を通じて、柱状、棒グラフ、折れ線、円グラフ、散布図など多数の標準チャートタイプをサポートしています。insertChart に渡す列挙体の値を変更することでタイプを切り替えられます。

  • 散布図は列グラフや棒グラフとどう違うのですか? 散布図は名前付きカテゴリの代わりに数値の X と Y のペアをプロットするため、カテゴリ配列を渡すのではなく ChartSeriesCollectionadd(name, xValues, yValues) オーバーロードを使用します。

  • チャート生成のためにライセンスを設定する必要がありますか? はい。臨時ライセンスは臨時ライセンスページから取得できます。長期プロジェクトの場合は、価格ページからフルライセンスを購入してください。

  • SDKはMavenおよびGradleビルドと互換性がありますか? もちろんです。Setupセクションに示されているように、Conholdate Mavenリポジトリと conholdate-total 依存関係をビルドファイルに追加すれば、ライブラリはMavenとGradleの両方で動作します。

さらに読む