Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk memindahkan Html ke exel

Bagaimana untuk memindahkan Html ke exel

PHPz
PHPzasal
2024-02-21 22:48:04570semak imbas

Bagaimana untuk memindahkan Html ke exel

Cara memindahkan HTML ke Excel memerlukan contoh kod khusus

Pengenalan:
Dalam kerja sebenar, kadangkala kita perlu mengeksport data dalam halaman web ke format Excel. HTML ialah bahasa penanda web biasa, manakala Excel ialah perisian hamparan yang biasa digunakan Format kedua-duanya berbeza, jadi penukaran diperlukan. Artikel ini akan memperkenalkan cara menggunakan JavaScript dan perpustakaan pihak ketiga untuk merealisasikan fungsi memindahkan HTML ke fail Excel, dan memberikan contoh kod khusus.

1. Gunakan JavaScript untuk memindahkan HTML ke Excel

  1. Buat jadual HTML
    Pertama, kita perlu mencipta jadual dalam HTML dan meletakkan data untuk dieksport ke dalam jadual. Sebagai contoh, berikut ialah jadual dengan tiga baris dan tiga lajur:
<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. Tambah butang eksport dan pendengar acara
    Tambah butang dalam HTML yang mencetuskan acara eksport apabila butang diklik. Butang boleh ditambah seperti berikut:
<button onclick="exportToExcel()">导出Excel</button>

Seterusnya, kita perlu menambah pendengar acara untuk butang untuk mencetuskan fungsi eksport. Gunakan JavaScript untuk menulis kod berikut:

function exportToExcel() {
  // 导出表格逻辑
}
  1. Laksanakan logik eksport dan jana fail Excel
    Untuk melaksanakan logik eksport, kami boleh menggunakan JavaScript untuk menukar kandungan dalam jadual HTML kepada fail Excel. Dalam fungsi yang dieksport, kita perlu melakukan langkah berikut:

(1) Cipta buku kerja Excel baharu:

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

(2) Lelaran melalui semua baris dan lajur dalam jadual HTML dan isikan data ke lembaran kerja Excel Medium :

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) Simpan fail Excel:

wb.xlsx.writeBuffer().then(function(buffer) {
  saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'data.xlsx');
});

Tambahkan kod ini pada fungsi "exportToExcel", kod lengkap adalah seperti berikut:

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. Gunakan perpustakaan pihak ketiga untuk memindahkan HTML ke Excel
Dalam tambahan kepada JavaScript asli Selain daripada operasi, kami juga boleh menggunakan perpustakaan pihak ketiga untuk merealisasikan fungsi memindahkan HTML ke Excel, seperti perpustakaan "AlaSQL". Berikut ialah kod khusus untuk menggunakan perpustakaan AlaSQL:

  1. Perkenalkan perpustakaan AlaSQL dan perpustakaan ExcelJS
    Pertama, kita perlu memperkenalkan skrip perpustakaan AlaSQL dan perpustakaan ExcelJS dalam HTML, yang boleh diperkenalkan dengan cara berikut:
<script src="https://cdn.jsdelivr.net/npm/alasql"></script>
<script src="https://cdn.jsdelivr.net/npm/exceljs"></script>
  1. Ubah suai fungsi eksport
    Dalam fungsi eksport, kami menggunakan kaedah "alasql" daripada perpustakaan AlaSQL untuk menukar jadual HTML kepada fail Excel. Ubah suai kod fungsi yang dieksport seperti berikut:
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. Tambah butang dan pendengar acara
    Begitu juga, tambah butang dan tambah pendengar acara dalam HTML:
<button onclick="exportToExcel()">导出Excel</button>

Kod contoh fail HTML yang lengkap adalah seperti berikut:

rrmmary

:
Artikel ini memperkenalkan cara menggunakan JavaScript dan perpustakaan pihak ketiga untuk memindahkan HTML ke fail Excel, dan memberikan contoh kod khusus. Melalui kod ini, kami boleh memindahkan data pada halaman web ke format Excel dengan mudah untuk memenuhi keperluan eksport dalam kerja sebenar. Semoga artikel ini bermanfaat kepada semua.

Atas ialah kandungan terperinci Bagaimana untuk memindahkan Html ke exel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn