HTML レポートを Excel スプレッドシートに変換することは、分析やオフラインレビューのためにデータをエクスポート
PHPでHTMLからXLSXへの変換手順
- Conversion APIクライアントの作成 - クライアント認証情報で
ConversionApiクラスを初期化します。- 例:
new \GroupDocs\Conversion\ConversionApi($config); - クラスの詳細は API Reference を参照してください。
- 例:
- HTMLソースファイルのアップロード -
UploadFileエンドポイントを使用して HTML ドキュメントを GroupDocs ストレージに送信します。 - 変換オプションの設定 - 出力形式を
XLSXに設定し、必要に応じてページサイズ、ワークシート名、データ抽出設定を調整します。 - 変換の実行 -
ConvertDocumentを呼び出し、ソースファイル ID と設定したオプションを渡します。 - XLSX結果のダウンロード - 応答 URL またはストレージ場所から生成されたファイルを取得します。
HTML to XLSX 変換(GroupDocs を使用) - 完全なコード例
以下の例は、認証からファイルのダウンロードまでのフルエンドツーエンド変換フローを示しています。
この例では、GroupDocs.Conversion Cloud SDK for PHP を使用して HTML ファイルを XLSX に変換する方法を示します。
<?php
require 'vendor/autoload.php';
use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;
// Replace with your actual credentials
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
// Configure the SDK
$config = new Configuration();
$config->setAppSid($clientId);
$config->setAppKey($clientSecret);
// Create API instance
$apiInstance = new ConversionApi($config);
// Paths to local files (can be absolute or relative)
$sourcePath = 'sample.html';
$targetPath = 'output.xlsx';
// Prepare conversion request
$request = new ConvertDocumentRequest(
$sourcePath, // Path to the source HTML file
'XLSX', // Desired output format
null, // Optional conversion options (null for defaults)
$targetPath // Path where the XLSX will be saved
);
try {
// Perform conversion
$apiInstance->convertDocument($request);
echo "Conversion successful. XLSX saved to {$targetPath}\n";
} catch (Exception $e) {
echo 'Conversion failed: ', $e->getMessage(), "\n";
}
?>
注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
sample.html、output.xlsx)を更新し、すべての必須依存関係が正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
cURL を使用した REST API によるクラウドベースの HTML から XLSX への変換
REST 呼び出しを直接使用して変換を実行することもできます。以下に必要な cURL コマンドを示します。
まず、クライアント資格情報を使用してアクセストークンを取得します。
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
HTML ファイルをストレージ エンドポイントにアップロードしてください。
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.html"
XLSXへの変換をリクエストしてください。
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputPath": "sample.html",
"outputPath": "output.xlsx",
"outputFormat": "XLSX"
}'
変換されたファイルをダウンロードしてください。
curl -X GET "https://api.groupdocs.cloud/v1.0/storage/download?path=output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
リクエスト パラメータの詳細については、公式 API ドキュメントをご覧ください。
PHP のインストールとセットアップ
- Composer を使用して SDK をインストールします:
composer require groupdocs-conversion-cloud vendorディレクトリを確認してインストールを検証します。- GroupDocs ポータルから Client ID と Client Secret を取得します。
- (オプション)Download URL から最新パッケージを手動でダウンロードします。
- PHP バージョンが SDK の要件 (PHP 7.4+) を満たしていることを確認します。
PHP と GroupDocs.Conversion を使用した HTML から XLSX への変換チュートリアル
GroupDocs.Conversion Cloud は、フォーマット固有のロジックを抽象化する統一された API を提供します。HTML ドキュメントを送信すると、サービスはマークアップを解析し、テーブル、スタイル、埋め込み画像をレンダリングし、Excel ワークシートにマッピングします。このアプローチにより、サードパーティのパーサーや手動の CSV 生成が不要になり、元の HTML レイアウトを忠実に再現したスプレッドシートが得られます。
GroupDocs.Conversion Features
- Multiple input formats - HTML、DOCX、PDF、その他多数。
- High‑fidelity rendering - CSSスタイル、結合セル、画像を保持します。
- Scalable cloud processing - ローカルリソースの制約なしに大容量ファイルを処理します。
- Secure data handling - すべてのトラフィックが暗号化され、ファイルは一時的に保存されます。
- Extensible options - ワークシート名、列幅、データ抽出モードを制御できます。
HTML を XLSX に変換する際の PHP のパフォーマンス最適化
大きな HTML レポートを変換する際は、次のヒントを検討してください。
| HTML サイズ | 平均変換時間 | 最大メモリ使用量 |
|---|---|---|
| 100 KB | 0.8 s | 45 MB |
| 500 KB | 2.4 s | 120 MB |
| 1 MB | 4.9 s | 210 MB |
Recommendations
- Chunk large HTML をセクションに分割し、順番に変換します。
- Enable streaming をリクエストオプションで
useStreaming=trueを設定することで有効にします。 - Reuse the API client を複数の変換で再利用し、認証の繰り返しオーバーヘッドを回避します。
これらの実践により、PHP における HTML から XLSX への変換パフォーマンス が向上し、サーバーのメモリ負荷が軽減されます。
HTML を XLSX に変換するためのセキュリティベストプラクティス
- 資格情報を安全に保管 - ハードコーディングせず、環境変数またはシークレットマネージャーを使用します。
- HTML 入力を検証 - アップロード前に潜在的に危険なスクリプトや外部リソースを除去します。
- HTTPS を使用 - すべての API エンドポイントは TLS 1.2 以上が必要です。
- 最小特権の権限を適用 - SDK に必要なストレージスコープだけを付与します。
- 使用状況を監視 - 変換アクティビティを追跡するために GroupDocs ポータルで監査ログを有効にします。
結論
HTMLからXLSXへの変換をPHPで行うことは、GroupDocs.Conversion Cloud SDK for PHP を使用すればシンプルになります。ここで示した手順、コード例、セキュリティガイドラインに従うことで、オンプレミスでもクラウドでも、リッチなHTMLコンテンツから確実にExcelファイルを生成できます。本番環境での導入には、一時ライセンスページ から適切なライセンスを取得するか、製品サイトで完全な価格オプションを確認してください。
よくある質問
PHPでHTMLからXLSXへの変換中に大きなHTMLファイルを処理するにはどうすればよいですか?
ドキュメントを小さなフラグメントに分割し、ストリーミングオプションを使用して、各フラグメントを順次処理します。SDK の useStreaming フラグはメモリ使用量を削減し、変換を高速化します。
HTML を XLSX に変換する際の PHP 用 API 資格情報を安全に保管する推奨方法は何ですか?YOUR_CLIENT_ID と YOUR_CLIENT_SECRET を環境変数またはシークレットボールトに保存し、ソース管理にコミットしないでください。SDK は実行時にこれらの値を読み取ります。
Azure Functions または AWS Lambda で HTML から XLSX への変換を実行できますか?
はい。クラウド API は HTTPS リクエストを行える任意の環境から利用でき、Azure や AWS のサーバーレスプラットフォームも含まれます。必要に応じて Composer 経由で SDK を含め、エンドポイント URL を設定してください。
HTMLをカスタム解析コードを書かずにXLSXに変換する方法はありますか?
もちろんです。SDK の ConvertDocument メソッドはすべての解析およびマッピングロジックを抽象化し、単一の API 呼び出しで変換できるようにします。
