Microsoft® スプレッドシート ドキュメント用のオープン ソース Java ライブラリ
オープン ソース API を介して、Java アプリケーションで Microsoft Excel スプレッドシート ファイルを作成、読み取り、編集、変換します。
DOCX4Jとは?
DOCX4J は Microsoft の OpenXML SDK に似ていますが、Java 用です。 DOCX4J は、Microsoft Office ファイル形式を操作するための JAXB ベースのオープン ソース (Apache v2) ライブラリです。 XLSX ファイル形式の読み取り、書き込み、編集、および保存する機能を提供します。
API を使用すると、スプレッドシート ドキュメントの生成、編集、テキストと段落の書式設定、グラフの挿入、表と画像の挿入、その他のフォーム要素の管理などを行うことができます。基本的に、その強調はパワーに重点を置いています。形式がサポートしている場合は、API を使用して実行できます。
DOCX4J 入門
まず、システムに Java Development Kit (JDK) をインストールする必要があります。 Maven ベースの Java プロジェクトで DOCX4J を参照するのはさらに簡単です。必要なのは、pom.xml に次の依存関係を追加し、IDE が DOCX4J Jar ファイルを取得して参照できるようにすることだけです。
DOCX4J Maven 依存関係
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
XLSX を読み書きする Java ライブラリ
既存および新しい XLSX ファイル形式を作成および操作するための強力なライブラリです。これにより、開発者はスプレッドシート内の特定のシートにアクセスしてデータを読み取ることができます。通常、スプレッドシートには複数のワークシートが含まれています。ユーザーが 1 つのシートからのみデータを読み取り、他のシートをスキップすることに関心がある場合。次の手順を使用すると、Java で Microsoft Excel を作成できます。
Excel を簡単に作成する
- SpreadsheetMLPackage のオブジェクトを初期化する
- ワークシートを作成
- シート データを取得する
- ドキュメントを保存
Java を使用して Excel Free を作成する
// Create spreadsheet package
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.createPackage();
// Create worksheet
WorksheetPart sheet = pkg.createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1);
SheetData sheetData = sheet.getContents().getSheetData();
// Save
pkg.save(new File("FileFormat.xlsx"));
Java API を使用してスプレッドシート セルを操作する
DOCX4J を使用すると、セルにアクセスし、座標によってその値を設定できます。新しいセルを作成して数式を設定することもできます。日付、時刻、先頭にゼロを付けた数値など、さまざまな種類のデータをセルに表示するように構成することもできます。
Excel セルにコンテンツを追加する - Java
// Create spreadsheet package
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.createPackage();
// Create worksheet
WorksheetPart sheet = pkg.createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1);
SheetData sheetData = sheet.getContents().getSheetData();
// Add Data
Row row = Context.getsmlObjectFactory().createRow();
Cell cell = Context.getsmlObjectFactory().createCell();
cell.setV("1234");
row.getC().add(cell);
CTXstringWhitespace ctx = Context.getsmlObjectFactory().createCTXstringWhitespace();
ctx.setValue("Open Source Java Library for Spreadsheet Documents");
CTRst ctrst = new CTRst();
ctrst.setT(ctx);
cell.setT(STCellType.INLINE_STR);
cell.setIs(ctrst);
row.getC().add(cell);
sheetData.getRow().add(row);
// Save
pkg.save(new File("FileFormat.xlsx"));