Gabungan pintar Vue dan Excel: Cara merealisasikan pengubahsuaian automatik dan eksport data
Ikhtisar:
Dalam pembangunan perisian moden, gabungan rangka kerja hadapan dan hamparan telah menjadi keperluan biasa. Sebagai rangka kerja bahagian hadapan yang popular, Vue mempunyai ciri pengikatan data dan responsif yang berkuasa, manakala Excel ialah alat hamparan yang terkenal dan digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan Vue dan Excel untuk mengubah suai dan mengeksport data secara automatik, memberikan pengguna kaedah pengurusan dan pemprosesan data yang lebih mudah.
<template> <div> <input v-model="name" type="text"> <p>你好, {{ name }}</p> </div> </template> <script> export default { data() { return { name: '' } } } </script>
Dalam contoh di atas, kami mengikat secara dwiarah teks yang dimasukkan oleh pengguna kepada atribut nama bagi contoh Vue melalui arahan model-v . Apabila pengguna memasukkan kandungan dalam kotak teks, atribut nama dikemas kini secara automatik, dengan itu mencapai pengubahsuaian masa nyata data.
# 安装exceljs npm install exceljs
// 导入Excel文件 import ExcelJS from 'exceljs' export default { methods: { importExcel(file) { const workbook = new ExcelJS.Workbook() const reader = new FileReader() reader.onload = (e) => { const arrayBuffer = e.target.result workbook.xlsx.load(arrayBuffer).then((workbook) => { const worksheet = workbook.getWorksheet('Sheet1') const data = [] worksheet.eachRow((row, rowNumber) => { if (rowNumber !== 1) { data.push(row.values) } }) // 处理导入的数据 console.log(data) }) } reader.readAsArrayBuffer(file) }, exportExcel() { const workbook = new ExcelJS.Workbook() const worksheet = workbook.addWorksheet('Sheet1') // 假设我们有一个数据数组 const data = [ ['Name', 'Age'], ['Alice', 25], ['Bob', 30], ['Charlie', 35] ] // 将数据写入Excel中 data.forEach((row) => { worksheet.addRow(row) }) // 导出Excel文件 workbook.xlsx.writeBuffer().then((buffer) => { const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) const url = URL.createObjectURL(blob) const link = document.createElement('a') link.href = url link.setAttribute('download', 'output.xlsx') document.body.appendChild(link) link.click() document.body.removeChild(link) }) } } }
Dalam kod di atas, kami menggunakan perpustakaan ExcelJS untuk memproses fail Excel. Dalam fungsi importExcel
yang mengimport fail Excel, kami mula-mula mencipta objek Buku Kerja kosong, dan kemudian menukar fail Excel kepada ArrayBuffer melalui FileReader. Seterusnya, kami menggunakan kaedah workbook.xlsx.load(arrayBuffer)
untuk memuatkan data ke dalam Buku Kerja dan melintasi setiap baris dalam lembaran kerja untuk menyimpan data dalam tatasusunan. Dengan cara ini, kami boleh memproses data yang diimport. importExcel
中,我们首先创建了一个空的Workbook对象,然后通过FileReader将Excel文件转换为ArrayBuffer。接着,我们使用workbook.xlsx.load(arrayBuffer)
方法将数据加载到Workbook中,并遍历工作表中的每一行,将数据存储在一个数组中。这样,我们就可以对导入的数据进行处理。
在导出Excel文件的函数exportExcel
exportExcel
yang mengeksport fail Excel, kami mula-mula mencipta objek Buku Kerja dan menambah lembaran kerja bernama 'Sheet1'. Kami kemudian menambah data pada lembaran kerja baris demi baris dengan menggelung melalui tatasusunan data. Akhir sekali, kami mengeksport objek Buku Kerja sebagai fail Excel, menambah pautan muat turun fail ke DOM dengan mencipta elemen pautan, dan akhirnya mensimulasikan pengguna untuk mengklik pautan muat turun untuk mengeksport.
Kesimpulan:
Atas ialah kandungan terperinci Gabungan pintar Vue dan Excel: cara merealisasikan pengubahsuaian automatik dan eksport data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!