تولید فایل اکسل از محتوای جیسون با کتابخانه xlsx
اگر با پلتفرم Vuejs 3 Vite در حال تولید یک وب اپلیکیشن هستند و مایلید محتویات جدولی را با فرمت اکسل در خروجی ذخیره نمایید ، می توانید طبق مراحل زیر عمل کنید .
- نصب کتابخانه
xlsx
:
ابتدا کتابخانه xlsx
را با استفاده از npm نصب کنید:
npm install xlsx
- ایجاد و دانلود فایل اکسل:
در اینجا یک مثال از کد برای ایجاد و دانلود فایل اکسل با استفاده از دادههای شما آورده شده است:
<template> <div> <button @click="exportToExcel">خروجی اکسل</button> </div> </template> <script> import * as XLSX from 'xlsx'; export default { name: 'ExportExcel', data() { return { jsonData: [ { NRow: 1, NTmpDocNu: 1469552, NYear: 1402, SAccCode: "تملک داراییهای سرمایهای ", SDocDate: "1402/01/21", Status: "بي حساب", }, { NRow: 2, NTmpDocNu: 1469553, NYear: 1402, SAccCode: "پرداخت بدهی های معوق ", SDocDate: "1402/01/20", Status: "بدهکار", }, ], }; }, methods: { exportToExcel() { const worksheet = XLSX.utils.json_to_sheet(this.jsonData); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // خروجی اکسل را به باینری تبدیل کنید const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array', }); // دانلود فایل اکسل this.saveAsExcelFile(excelBuffer, 'ExportedData'); }, saveAsExcelFile(buffer, fileName) { const data = new Blob([buffer], { type: 'application/octet-stream', }); const link = document.createElement('a'); link.href = URL.createObjectURL(data); link.download = `${fileName}.xlsx`; link.click(); }, }, }; </script>
در این مثال:
- دادهها در متغیر
jsonData
ذخیره شدهاند. - تابع
exportToExcel
از کتابخانهxlsx
برای تبدیل دادهها به فایل اکسل استفاده میکند. - تابع
saveAsExcelFile
فایل اکسل را به صورت باینری ذخیره و دانلود میکند.