Rumah  >  Artikel  >  hujung hadapan web  >  Cara melaksanakan fungsi eksport dan import data dalam projek Vue

Cara melaksanakan fungsi eksport dan import data dalam projek Vue

WBOY
WBOYasal
2023-10-09 08:06:191320semak imbas

Cara melaksanakan fungsi eksport dan import data dalam projek Vue

Cara melaksanakan fungsi eksport dan import data dalam projek Vue

Dalam projek Vue, adalah amalan biasa untuk melaksanakan eksport dan fungsi import keperluan data. Contohnya, apabila pengguna perlu mengeksport data dalam jadual ke fail Excel, atau apabila pengguna perlu mengimport data daripada fail Excel ke dalam jadual, kami perlu melaksanakan fungsi eksport dan import tersebut.

Berikut ialah kaedah untuk melaksanakan fungsi eksport dan import, termasuk contoh kod khusus.

1 Eksport data ke fail Excel

  1. Pasang tanggungan
    Pertama, pasang dua perpustakaan bergantung xlsx dan penyimpan fail dalam projek Vue . Anda boleh menggunakan npm atau benang untuk memasang.
npm install xlsx file-saver
  1. Tulis kod eksport
    Dalam komponen yang perlu mengeksport data, import dahulu xlsx dan perpustakaan penjimat fail.
import XLSX from 'xlsx';
import { saveAs } from 'file-saver';

Kemudian, tulis fungsi yang dieksport. Fungsi ini menerima tatasusunan data jadual sebagai parameter, menukarnya kepada fail Excel dan menyimpan fail.

export function exportToExcel(data) {
  const worksheet = XLSX.utils.json_to_sheet(data);
  const workbook = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
  const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
  const excelBlob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });
  saveAs(excelBlob, 'data.xlsx');
}
  1. Panggil fungsi eksport
    Panggil fungsi eksport di mana data perlu dieksport, dan hantarkan tatasusunan data jadual sebagai parameter.
export default {
  methods: {
    handleExport() {
      const data = [
        { name: 'John', age: 20 },
        { name: 'Jane', age: 25 },
        { name: 'Tom', age: 30 },
      ];
      exportToExcel(data);
    },
  },
};

2. Import data ke dalam jadual

  1. Pasang tanggungan
    Pasang perpustakaan tanggungan xlsx. dalam Vue
npm install xlsx
  1. Tulis kod import
    Dalam komponen yang perlu mengimport data, import perpustakaan xlsx dahulu.
import XLSX from 'xlsx';

Kemudian, tulis fungsi import. Fungsi ini menerima fail Excel sebagai parameter, membaca data dalam fail dan mengembalikan tatasusunan.

export function importFromExcel(file) {
  return new Promise((resolve) => {
    const reader = new FileReader();
    reader.onload = (event) => {
      const data = new Uint8Array(event.target.result);
      const workbook = XLSX.read(data, { type: 'array' });
      const worksheet = workbook.Sheets[workbook.SheetNames[0]];
      const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
      resolve(jsonData);
    };
    reader.readAsArrayBuffer(file);
  });
}
  1. Panggil fungsi import
    Panggil fungsi import di mana data perlu diimport dan proses data yang dikembalikan.
<template>
  <input type="file" @change="handleImport">
</template>

<script>
import { importFromExcel } from '@/utils/excel';

export default {
  methods: {
    async handleImport(event) {
      const file = event.target.files[0];
      const data = await importFromExcel(file);
      // 处理导入的数据
      console.log(data);
    },
  },
};
</script>

Di atas adalah kaedah untuk melaksanakan fungsi eksport dan import data dalam projek Vue Kod boleh dilaraskan dan dikembangkan mengikut keperluan sebenar. Dengan cara ini, kami boleh melakukan operasi eksport dan import data dengan mudah untuk meningkatkan pengalaman dan kecekapan pengguna.

Dokumentasi rujukan:

  1. [xlsx repositori GitHub](https://github.com/SheetJS/sheetjs)#🎜🎜🎜#🎜##🎜 Repositori GitHub FileSaver.js](https://github.com/eligrey/FileSaver.js)

Atas ialah kandungan terperinci Cara melaksanakan fungsi eksport dan import data dalam projek Vue. 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