データ駆動型の Java アプリケーションを構築する際、プログラムで Excel ファイルを編集する必要が頻繁にあります。特に、レポートを更新したり、動的なスプレッドシートをリアルタイムで生成したりする場合です。GroupDocs.Editor Cloud SDK for Java は、低レベルのファイル形式を扱うことなく、XLSX ワークブックを操作できる強力な REST ベースのライブラリを提供します。このガイドでは、完全な Java コード例、同等の cURL コマンド、インストール手順、および Excel 編集を Java プロジェクトに統合するための構成オプションを紹介します。
REST を使用した Java での Excel シート編集 - 完全なコード例
次の例は、Excelブックをロードし、変更を加えて、GroupDocs.Editor Cloud SDK for Java を使用してストレージに保存する方法を示しています。
import com.groupdocs.cloud.editor.api.*;
import com.groupdocs.cloud.editor.client.*;
import com.groupdocs.cloud.editor.model.*;
import com.groupdocs.cloud.editor.model.requests.*;
public class EditDocument {
public static void main(String[] args) {
// Configure API client
ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.groupdocs.cloud");
apiClient.setAppSid("YOUR_CLIENT_ID");
apiClient.setAppKey("YOUR_CLIENT_SECRET");
// Create EditorApi instance
EditorApi editorApi = new EditorApi(apiClient);
// Load document
LoadDocumentRequest loadRequest = new LoadDocumentRequest("sample.xlsx", null);
LoadResult loadResult = editorApi.loadDocument(loadRequest);
// Get document pages (for Excel, each sheet is a page)
// Edit cell via editing HTML? Not sure.
// Save document
SaveDocumentRequest saveRequest = new SaveDocumentRequest("sample.xlsx", "output.xlsx", null);
editorApi.saveDocument(saveRequest);
}
}
注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
sample.xlsx、output.xlsx)を更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
cURL コマンドによる Excel REST 編集
純粋な REST アプローチを好む場合、同じ操作は cURL で実行できます。以下は一般的な手順です。
- アクセストークンを取得する
YOUR_CLIENT_IDとYOUR_CLIENT_SECRETをあなたの認証情報に置き換えてください。
curl -X POST "https://api.groupdocs.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- ソースXLSXファイルをアップロード
curl -X PUT "https://api.groupdocs.cloud/v2.0/editor/storage/file/sample.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" \
--data-binary @sample.xlsx
- ワークブックを編集用にロードする
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/load" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filePath": "sample.xlsx",
"loadOptions": {}
}'
- 変更したワークブックを保存する
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/save" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filePath": "sample.xlsx",
"outputPath": "output.xlsx",
"saveOptions": {}
}'
リクエスト ボディや追加パラメータの詳細については、公式 API ドキュメントをご覧ください。
REST を使用した Java コードでの Excel シート編集の理解
以下は Java の例のステップバイステップの内訳です。
APIクライアントの構成 -
ApiClientオブジェクトはベースURLと認証情報を格納します。ApiClient apiClient = new ApiClient(); apiClient.setBasePath("https://api.groupdocs.cloud"); apiClient.setAppSid("YOUR_CLIENT_ID"); apiClient.setAppKey("YOUR_CLIENT_SECRET");Editor API インスタンスの作成 -
EditorApiはloadDocumentやsaveDocumentなどのメソッドを提供します。
EditorApi editorApi = new EditorApi(apiClient);
- Excelブックの読み込み -
LoadDocumentRequestはファイル名を指定し、レスポンスにはページ(シート)情報が含まれます。
LoadDocumentRequest loadRequest = new LoadDocumentRequest("sample.xlsx", null);
LoadResult loadResult = editorApi.loadDocument(loadRequest);
ワークブックの編集 - Excelの場合、各シートはページとして表示されます。ページのHTML表現を操作したり、他の編集APIを使用したりできます。(サンプルではこの部分はプレースホルダーとして残されています。)
変更されたファイルを保存 -
SaveDocumentRequestはソースとターゲットのパスを定義します。SaveDocumentRequest saveRequest = new SaveDocumentRequest("sample.xlsx", "output.xlsx", null); editorApi.saveDocument(saveRequest);
クラスとプロパティの完全な一覧については、API リファレンスをご参照ください。
環境の準備
Maven プロジェクトに SDK を追加する:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-editor-cloud</artifactId>
<version>25.7</version>
</dependency>
前提条件: Java 8 以上、GroupDocs Cloud アカウント、および有効なクライアント認証情報(AppSid と AppKey)。最新の JAR を ダウンロードページ からダウンロードしてください。
Excel 編集オプションの設定
SDKでは、ロードと保存の動作を細かく調整できます:
- ロード オプション - ワークブックが読み取り専用モードで開かれるかどうかを制御します。
LoadOptions loadOptions = new LoadOptions();
loadOptions.setReadOnly(false);
- 保存オプション - 出力形式(XLSX、CSV、など)を選択し、数式を保持するかどうかを指定します。
SaveOptions saveOptions = new SaveOptions();
saveOptions.setFormat(SaveOptions.FormatEnum.XLSX);
saveOptions.setPreserveFormulas(true);
- 認証設定 - 必要に応じて、カスタムタイムアウトやプロキシを設定できます。
apiClient.setTimeout(120000); // 2 minutes
これらのオプションは、前述のリクエストオブジェクトに渡されます。
結論
JavaでRESTを使用してExcelシートを編集することは、GroupDocs.Editor Cloud SDK for Java を利用すれば簡単になります。SDKはREST呼び出しを抽象化し、認証、ファイルストレージ、フォーマットの細かな違いを裏で処理するため、ビジネスロジックに集中できます。コード例を統合した後は、バッチ処理やカスタムセル のスタイリング、数式評価をサポートするようソリューションを拡張できます。本番環境で使用するには適切なライセンスを取得することを忘れないでください。価格情報は製品ページで確認でき、一時ライセンスページ から一時的なトライアルライセンスをリクエストできます。今日からExcelワークフローの自動化を始め、Javaアプリケーション全体の生産性を向上させましょう。
よくある質問
JavaでGroupDocs.Editorを使用してREST経由でExcelシートを編集するにはどうすればよいですか?
コード例に示すように、SDK のloadDocumentとsaveDocumentメソッドを使用します。ライブラリが REST 通信を処理するため、Java オブジェクトだけを操作すれば済みます。REST API が必要とする認証方法は何ですか?
API は OAuth2 クライアントクレデンシャル フローを使用します。AppSidとAppKeyを使用してアクセストークンを取得し、すべての呼び出しでAuthorization: Bearerヘッダーに含めてください。詳細は 公式ドキュメント にあります。単一のリクエストで複数のワークシートを編集できますか?
はい。ワークブックをロードした後、各ワークシートはLoadResult内の個別のページとして表示されます。ページを反復処理し、変更を適用し、saveDocumentを一度呼び出すことで、すべての編集を永続化します。価格とライセンス情報はどこで確認できますか?
サブスクリプションプランについては製品のメインページをご覧いただき、トライアルキーは一時ライセンスページをご利用ください。
