Bagaimana untuk memindahkan Html ke exel

PHPz
Lepaskan: 2024-02-21 22:48:04
asal
594 orang telah melayarinya

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>
Salin selepas log masuk
  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>
Salin selepas log masuk
Salin selepas log masuk

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

function exportToExcel() {
  // 导出表格逻辑
}
Salin selepas log masuk
  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');
Salin selepas log masuk

(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' };
  }
}
Salin selepas log masuk

(3) Simpan fail Excel:

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

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');
  });
}
Salin selepas log masuk

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>
Salin selepas log masuk
  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]]);
}
Salin selepas log masuk
  1. Tambah butang dan pendengar acara
    Begitu juga, tambah butang dan tambah pendengar acara dalam HTML:
<button onclick="exportToExcel()">导出Excel</button>
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan