HTMLをエクセルに転送する方法

Feb 21, 2024 pm 10:48 PM
ファイル形式の変換 HTML転送 エクセル転送

HTMLをエクセルに転送する方法

HTML を Excel に転送する方法には具体的なコード例が必要です

はじめに:
実際の作業では、Web ページのデータを Excel としてエクスポートする必要がある場合があります。フォーマット。 HTML は一般的な Web マークアップ言語、Excel は一般的に使用される表計算ソフトウェアですが、両者は形式が異なるため、変換が必要です。この記事では、JavaScript とサードパーティ ライブラリを使用して、HTML を Excel ファイルに転送する機能を実現する方法と、具体的なコード例を紹介します。

1. JavaScript を使用して HTML を Excel に転送する

  1. HTML テーブルを作成する
    まず、HTML でテーブルを作成し、エクスポートする必要があるデータを配置する必要があります。表の中に入れます。たとえば、次の表は 3 行 3 列です。
<table id="myTable">
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr>
    <td>张三</td>
    <td>25</td>
    <td>男</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>30</td>
    <td>女</td>
  </tr>
</table>
ログイン後にコピー
  1. エクスポート ボタンとイベント リスナーの追加
    ボタンが押されたときにエクスポート イベントをトリガーするボタンを HTML に追加します。をクリックします。ボタンは次のように追加できます:
<button onclick="exportToExcel()">导出Excel</button>
ログイン後にコピー
ログイン後にコピー

次に、エクスポート関数をトリガーするためにボタンのイベント リスナーを追加する必要があります。 JavaScript を使用して次のコードを記述します。

function exportToExcel() {
  // 导出表格逻辑
}
ログイン後にコピー
  1. エクスポート ロジックを実装して Excel ファイルを生成する
    エクスポート ロジックを実装するには、JavaScript を使用して HTML テーブルのコンテンツをエクセルファイル。エクスポートされた関数では、次の手順を実行する必要があります:

(1) 新しい Excel ワークブックを作成します:

var wb = new ExcelJS.Workbook();
var ws = wb.addWorksheet('Sheet 1');
ログイン後にコピー

(2) HTML テーブルと列のすべての行を走査します。 Excel ワークシートにデータを入力します。

var rows = document.getElementById("myTable").rows;
for (var i = 0; i < rows.length; i++) {
  var cells = rows[i].cells;
  for (var j = 0; j < cells.length; j++) {
    ws.getCell(i + 1, j + 1).value = cells[j].innerText;
    // 根据需要设置单元格样式
    ws.getCell(i + 1, j + 1).alignment = { horizontal: 'left' };
  }
}
ログイン後にコピー

(3) Excel ファイルを保存します。

wb.xlsx.writeBuffer().then(function(buffer) {
  saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'data.xlsx');
});
ログイン後にコピー

これらのコードを「exportToExcel」関数に追加します。完全なコードは次のとおりです。

function exportToExcel() {
  var wb = new ExcelJS.Workbook();
  var ws = wb.addWorksheet('Sheet 1');

  var rows = document.getElementById("myTable").rows;
  for (var i = 0; i < rows.length; i++) {
    var cells = rows[i].cells;
    for (var j = 0; j < cells.length; j++) {
      ws.getCell(i + 1, j + 1).value = cells[j].innerText;
      ws.getCell(i + 1, j + 1).alignment = { horizontal: 'left' };
    }
  }

  wb.xlsx.writeBuffer().then(function(buffer) {
    saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'data.xlsx');
  });
}
ログイン後にコピー

2. サードパーティ ライブラリを使用して HTML を Excel に転送する
JavaScript のネイティブ操作に加えて、サードパーティ ライブラリを使用して、HTML を Excel に転送する機能を実現することもできます。 AlaSQL」ライブラリ。以下は、AlaSQL ライブラリを使用するための具体的なコードです。

  1. AlaSQL ライブラリと ExcelJS ライブラリの紹介
    まず、HTML で AlaSQL ライブラリと ExcelJS ライブラリ スクリプトを導入する必要があります。
<script src="https://cdn.jsdelivr.net/npm/alasql"></script>
<script src="https://cdn.jsdelivr.net/npm/exceljs"></script>
ログイン後にコピー
  1. エクスポート関数を変更する
    エクスポート関数では、AlaSQL ライブラリの「alasql」メソッドを使用して、HTML テーブルを Excel に変換します。ファイル。エクスポートされた関数のコードを次のように変更します:
function exportToExcel() {
  var tableData = [];
  var rows = document.getElementById("myTable").rows;
  for (var i = 0; i < rows.length; i++) {
    var rowData = [];
    var cells = rows[i].cells;
    for (var j = 0; j < cells.length; j++) {
      rowData.push(cells[j].innerText);
    }
    tableData.push(rowData);
  }

  var opts = {
    sheetid: 'Sheet 1',
    headers: true,
    skipHeader: true
  };

  var res = alasql('SELECT * INTO XLSX("data.xlsx",?) FROM ?', [opts, [tableData]]);
}
ログイン後にコピー
  1. ボタンとイベント リスナーを追加します
    同様に、HTML にボタンとイベント リスナーを追加します:
<button onclick="exportToExcel()">导出Excel</button>
ログイン後にコピー
ログイン後にコピー

完全な HTML ファイルのサンプル コードは次のとおりです:



  
    
    HTML转存为Excel
    
    
  
  
    
姓名 年龄 性别
张三 25
李四 30
<button onclick="exportToExcel()">导出Excel</button> <script> function exportToExcel() { var tableData = []; var rows = document.getElementById("myTable").rows; for (var i = 0; i < rows.length; i++) { var rowData = []; var cells = rows[i].cells; for (var j = 0; j < cells.length; j++) { rowData.push(cells[j].innerText); } tableData.push(rowData); } var opts = { sheetid: 'Sheet 1', headers: true, skipHeader: true }; var res = alasql('SELECT * INTO XLSX("data.xlsx",?) FROM ?', [opts, [tableData]]); } </script>
ログイン後にコピー

概要:
この記事では、JavaScript とサードパーティのライブラリを使用して HTML を Excel ファイルに転送する方法を紹介し、具体的なコード例を示します。これらのコードを使用すると、Web ページ上のデータを Excel 形式に簡単に転送して、実際の業務でのエクスポートのニーズを満たすことができます。この記事が皆さんのお役に立てば幸いです。

以上がHTMLをエクセルに転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

See all articles