اگر با پلتفرم Vuejs 3 Vite در حال تولید یک وب اپلیکیشن هستند و مایلید محتویات جدولی را با فرمت اکسل در خروجی ذخیره نمایید ، می توانید طبق مراحل زیر عمل کنید .
- نصب کتابخانه
xlsx
:
ابتدا کتابخانه xlsx
را با استفاده از npm نصب کنید:
npm install xlsx
- npm install xlsx
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>
- <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>
<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
فایل اکسل را به صورت باینری ذخیره و دانلود میکند.