تولید فایل اکسل از محتوای جیسون با کتابخانه 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فایل اکسل را به صورت باینری ذخیره و دانلود میکند.