HTML レポートを Excel スプレッドシートに変換することは、分析やオフラインレビューのためにデータをエクスポート

PHPでHTMLからXLSXへの変換手順

  1. Conversion APIクライアントの作成 - クライアント認証情報で ConversionApi クラスを初期化します。
    • 例: new \GroupDocs\Conversion\ConversionApi($config);
    • クラスの詳細は API Reference を参照してください。
  2. HTMLソースファイルのアップロード - UploadFile エンドポイントを使用して HTML ドキュメントを GroupDocs ストレージに送信します。
  3. 変換オプションの設定 - 出力形式を XLSX に設定し、必要に応じてページサイズ、ワークシート名、データ抽出設定を調整します。
  4. 変換の実行 - ConvertDocument を呼び出し、ソースファイル ID と設定したオプションを渡します。
  5. 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.htmloutput.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 のインストールとセットアップ

  1. Composer を使用して SDK をインストールします:
    composer require groupdocs-conversion-cloud
    
  2. vendor ディレクトリを確認してインストールを検証します。
  3. GroupDocs ポータルから Client IDClient Secret を取得します。
  4. (オプション)Download URL から最新パッケージを手動でダウンロードします。
  5. 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、DOCXPDF、その他多数。
  • High‑fidelity rendering - CSSスタイル、結合セル、画像を保持します。
  • Scalable cloud processing - ローカルリソースの制約なしに大容量ファイルを処理します。
  • Secure data handling - すべてのトラフィックが暗号化され、ファイルは一時的に保存されます。
  • Extensible options - ワークシート名、列幅、データ抽出モードを制御できます。

HTML を XLSX に変換する際の PHP のパフォーマンス最適化

大きな HTML レポートを変換する際は、次のヒントを検討してください。

HTML サイズ平均変換時間最大メモリ使用量
100 KB0.8 s45 MB
500 KB2.4 s120 MB
1 MB4.9 s210 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_IDYOUR_CLIENT_SECRET を環境変数またはシークレットボールトに保存し、ソース管理にコミットしないでください。SDK は実行時にこれらの値を読み取ります。

Azure Functions または AWS Lambda で HTML から XLSX への変換を実行できますか?
はい。クラウド API は HTTPS リクエストを行える任意の環境から利用でき、Azure や AWS のサーバーレスプラットフォームも含まれます。必要に応じて Composer 経由で SDK を含め、エンドポイント URL を設定してください。

HTMLをカスタム解析コードを書かずにXLSXに変換する方法はありますか?
もちろんです。SDK の ConvertDocument メソッドはすべての解析およびマッピングロジックを抽象化し、単一の API 呼び出しで変換できるようにします。

もっと読む