Rumah > Artikel > hujung hadapan web > Interaksi yang cekap antara Vue dan Excel: cara mencapai pengisian batch dan import data
Interaksi yang cekap antara Vue dan Excel: Bagaimana untuk merealisasikan pengisian kelompok dan pengimportan data
Dalam kebanyakan projek, pengisian kelompok dan pengimportan data adalah keperluan biasa. Sebagai alat pemprosesan data yang popular, Excel, digabungkan dengan rangka kerja Vue, boleh mencapai interaksi data yang cekap. Artikel ini akan memperkenalkan cara melaksanakan pengisian kelompok dan pengimportan data melalui Vue dan beberapa pemalam yang biasa digunakan serta memberikan contoh kod.
npm install vue-xlsx -S
Kemudian, perkenalkan vue-xlsx dalam fail main.js projek Vue:
import VueXlsx from 'vue-xlsx' Vue.use(VueXlsx)
<template> <div> <input type="file" @change="handleFileUpload" /> <table> <thead> <tr> <th>学生姓名</th> <th>成绩</th> </tr> </thead> <tbody> <tr v-for="(student, index) in students" :key="index"> <td>{{ student.name }}</td> <td>{{ student.score }}</td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { students: [] } }, methods: { handleFileUpload(event) { this.students = [] const file = event.target.files[0] const reader = new FileReader() reader.onload = (e) => { const data = new Uint8Array(e.target.result) const workbook = this.$xlsx.read(data, { type: 'array' }) const sheetName = workbook.SheetNames[0] const worksheet = workbook.Sheets[sheetName] const jsonData = this.$xlsx.utils.sheet_to_json(worksheet, { header: 1 }) jsonData.forEach((row, index) => { if (index !== 0) { const student = { name: row[0], score: row[1] } this.students.push(student) } }) } reader.readAsArrayBuffer(file) } } } </script>
Dalam kod di atas, kami mula-mula menambah teg input untuk muat naik fail ke templat dan mendengar acara perubahan. Apabila pengguna memilih fail Excel, fail tersebut akan dibaca dan kaedah handleFileUpload akan dicetuskan.
Di dalam kaedah, this.students terlebih dahulu dibersihkan, dan kemudian FileReader digunakan untuk membaca kandungan fail. Selepas bacaan selesai, gunakan objek this.$xlsx vue-xlsx untuk menghuraikan kandungan fail dan tukar data dalam Excel kepada format JSON melalui kaedah this.$xlsx.utils.sheet_to_json.
Akhir sekali, kami menukar data JSON baris demi baris kepada objek pelajar dan menambahkannya pada tatasusunan this.students. Gunakan arahan v-for dalam templat untuk melintasi tatasusunan dan memaparkan nama dan gred pelajar.
<template> <div> <input type="file" @change="handleFileUpload" /> <form> <div> <label>学生姓名:</label> <input v-model="student.name" /> </div> <div> <label>成绩:</label> <input v-model="student.score" /> </div> <button @click="importData">导入数据</button> </form> </div> </template> <script> export default { data() { return { student: {} } }, methods: { handleFileUpload(event) { const file = event.target.files[0] const reader = new FileReader() reader.onload = (e) => { const data = new Uint8Array(e.target.result) const workbook = this.$xlsx.read(data, { type: 'array' }) const sheetName = workbook.SheetNames[0] const worksheet = workbook.Sheets[sheetName] const jsonData = this.$xlsx.utils.sheet_to_json(worksheet, { header: 1 }) if (jsonData.length > 0) { const row = jsonData[1] this.student = { name: row[0], score: row[1] } } } reader.readAsArrayBuffer(file) }, importData() { // 将this.student中的数据导入表单或数据库 } } } </script>
Dalam kod di atas, kami menggunakan borang untuk memaparkan data yang akan diimport, yang mengandungi kotak input untuk nama dan gred pelajar. Apabila pengguna memilih fail Excel, kandungan fail dihuraikan dengan cara yang sama dan baris pertama data digunakan sebagai data yang diimport.
Pengguna boleh mengubah suai data dalam kotak input, kemudian klik butang "Import Data" dan laksanakan kaedah importData untuk mengimport data dalam this.student ke dalam borang atau pangkalan data.
Melalui contoh kod di atas, kita dapat melihat interaksi yang cekap antara Vue dan Excel. Sama ada pengisian kelompok atau import data, menggunakan pemalam Vue dan vue-xlsx boleh memudahkan proses pembangunan dan meningkatkan kecekapan kerja.
Ringkasan
Artikel ini memperkenalkan cara untuk mencapai pengisian batch dan import data melalui pemalam Vue dan vue-xlsx. Dengan memasang dan menggunakan pemalam vue-xlsx dengan betul, kami boleh membaca dan menulis fail Excel dengan mudah dan menggunakannya dengan rangka kerja Vue. Sama ada untuk pengurusan data atau keperluan import data, interaksi yang cekap sebegini boleh meningkatkan kecekapan pembangunan.
Atas ialah kandungan terperinci Interaksi yang cekap antara Vue dan Excel: cara mencapai pengisian batch dan import data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!