ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptを使用してWebテーブルをExcelに変換する方法

JavaScriptを使用してWebテーブルをExcelに変換する方法

PHPz
PHPzオリジナル
2023-04-24 15:49:561383ブラウズ

経営管理やデータ分析でスプレッドシートが広く使われるようになったことで、Web テーブルを Excel 形式に変換する需要も高まっています。 JavaScript の強力な機能とクロスプラットフォームの特性により、この機能を実装するのが最良の選択となります。 JavaScriptを使用してWebテーブルをExcelに変換する方法を紹介します。

1.JavaScript ライブラリの導入

まず、必要な JavaScript ライブラリ (SheetJS と FileSaver) を導入する必要があります。 SheetJS は、Excel、CSV、その他のスプレッドシート形式の読み取りと書き込みができる強力なスプレッドシート処理ライブラリです。 FileSaver ライブラリは、ブラウザから生成された HTML またはバイナリ データを保存する簡単な方法を提供します。次のコードを HTML ファイルに追加して、これら 2 つのライブラリを導入します。

<script src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>

2. テーブルの HTML コードを作成する

次に、データを表示するために HTML ページにテーブルを作成する必要があります。ここでは、ヘッダーとデータを含む単純なテーブルを作成します。

<table id="table">
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>性别</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>30</td>
      <td>男</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>25</td>
      <td>女</td>
    </tr>
    <tr>
      <td>王五</td>
      <td>40</td>
      <td>男</td>
    </tr>
  </tbody>
</table>

3. JavaScript コードの作成

次に、表を Excel に変換する機能を実現する JavaScript コードの作成を開始します。

最初にテーブルを取得する必要があります。document.getElementById() メソッドを使用して、ID「table」を持つテーブル要素を取得します。

const table = document.getElementById('table');

次に、table.rows を通じてテーブル内の行と列の数を取得し、テーブル データを保存するための空の配列を作成します。

const rowLength = table.rows.length;
const colLength = table.rows[0].cells.length;
const data = [];

次に、テーブル内のすべての行と列を走査し、セルのテキスト データをデータ配列に格納する必要があります。これは二重ループを使用して実現されます。

for (let i = 0; i < rowLength; i++) {
  const rowData = [];
  for (let j = 0; j < colLength; j++) {
    rowData.push(table.rows[i].cells[j].textContent);
  }
  data.push(rowData);
}

最後に、SheetJS ライブラリを使用してデータを Excel 形式のバイナリ データに変換し、FileSaver ライブラリを使用してローカルに保存します。これは SheetJS の XLSX.writeFile() メソッドを使用して実装されます。

const wb = XLSX.utils.book_new();
const ws = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
XLSX.writeFile(wb, 'table.xlsx');

完全な JavaScript コードは次のとおりです:

const table = document.getElementById('table');
const rowLength = table.rows.length;
const colLength = table.rows[0].cells.length;
const data = [];

for (let i = 0; i < rowLength; i++) {
  const rowData = [];
  for (let j = 0; j < colLength; j++) {
    rowData.push(table.rows[i].cells[j].textContent);
  }
  data.push(rowData);
}

const wb = XLSX.utils.book_new();
const ws = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
XLSX.writeFile(wb, 'table.xlsx');

4. 変換結果をテストします

上記の手順を完了した後、ブラウザで HTML ファイルを開き、ボタンをクリックすると、「table.xlsx」という名前の Excel ファイルが自動的にダウンロードされます。

上記の手順により、Web テーブルを Excel 形式に変換することができました。このメソッドは JavaScript に基づいており、実装が簡単で効率性が高く、クロスプラットフォームで使用できます。Web フォームのバッチ処理に非常に適しており、ビジネス マネージャーやデータ アナリストにとって間違いなく優れたツールです。

以上がJavaScriptを使用してWebテーブルをExcelに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。