亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Vue如何使用xlsx庫導出Excel文件

 更新時間:2025年01月26日 10:34:52   作者:LCG元  
第三方庫xlsx提供了強大的功能來處理Excel文件,它可以簡化導出Excel文件這個過程,本文將為大家詳細介紹一下它的具體使用,需要的小伙伴可以了解下

在Vue.js項目中導出Excel文件,使用第三方庫xlsx來簡化這個過程。它提供了強大的功能來處理Excel文件。

示例,展示如何在Vue.js項目中導出Excel文件。

1. 安裝依賴

首先,需要安裝 xlsx 和 file-saver 這兩個庫。xlsx 用于生成Excel文件,而 file-saver 用于保存文件。

npm install xlsx file-saver

2. 創(chuàng)建Vue組件

接下來,創(chuàng)建一個Vue組件,該組件包含一個按鈕,點擊按鈕時會導出Excel文件。

<template>
  <div>
    <button @click="exportToExcel">導出Excel</button>
  </div>
</template>

<script>
import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';

export default {
  name: 'ExportExcel',
  methods: {
    exportToExcel() {
      // 定義數(shù)據(jù)
      const data = [
        { name: 'John Doe', age: 30, email: 'john@example.com' },
        { name: 'Jane Smith', age: 25, email: 'jane@example.com' },
        { name: 'Sam Brown', age: 40, email: 'sam@example.com' }
      ];

      // 將數(shù)據(jù)轉(zhuǎn)換為工作表
      const worksheet = XLSX.utils.json_to_sheet(data);

      // 創(chuàng)建一個新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

      // 生成Excel文件的二進制字符串
      const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

      // 將二進制字符串轉(zhuǎn)換為Blob對象
      const dataBlob = new Blob([excelBuffer], { type: 'application/octet-stream' });

      // 使用FileSaver保存文件
      saveAs(dataBlob, 'data.xlsx');
    }
  }
};
</script>

3. 解釋代碼

模板部分 (<template>)

<template>
  <div>
    <button @click="exportToExcel">導出Excel</button>
  </div>
</template>

這里創(chuàng)建了一個簡單的按鈕,當用戶點擊按鈕時,會觸發(fā) exportToExcel 方法。

腳本部分 (<script>)

import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';

export default {
  name: 'ExportExcel',
  methods: {
    exportToExcel() {
      // 定義數(shù)據(jù)
      const data = [
        { name: 'John Doe', age: 30, email: 'john@example.com' },
        { name: 'Jane Smith', age: 25, email: 'jane@example.com' },
        { name: 'Sam Brown', age: 40, email: 'sam@example.com' }
      ];

      // 將數(shù)據(jù)轉(zhuǎn)換為工作表
      const worksheet = XLSX.utils.json_to_sheet(data);

      // 創(chuàng)建一個新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

      // 生成Excel文件的二進制字符串
      const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

      // 將二進制字符串轉(zhuǎn)換為Blob對象
      const dataBlob = new Blob([excelBuffer], { type: 'application/octet-stream' });

      // 使用FileSaver保存文件
      saveAs(dataBlob, 'data.xlsx');
    }
  }
};

導入庫

import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';

導入 xlsx 和 file-saver 庫。

定義數(shù)據(jù)和方法

export default {
  name: 'ExportExcel',
  methods: {
    exportToExcel() {
      // 定義數(shù)據(jù)
      const data = [
        { name: 'John Doe', age: 30, email: 'john@example.com' },
        { name: 'Jane Smith', age: 25, email: 'jane@example.com' },
        { name: 'Sam Brown', age: 40, email: 'sam@example.com' }
      ];

      // 將數(shù)據(jù)轉(zhuǎn)換為工作表
      const worksheet = XLSX.utils.json_to_sheet(data);

      // 創(chuàng)建一個新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

      // 生成Excel文件的二進制字符串
      const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

      // 將二進制字符串轉(zhuǎn)換為Blob對象
      const dataBlob = new Blob([excelBuffer], { type: 'application/octet-stream' });

      // 使用FileSaver保存文件
      saveAs(dataBlob, 'data.xlsx');
    }
  }
};

定義數(shù)據(jù):定義了一個包含多個對象的數(shù)組,每個對象代表一行數(shù)據(jù)。

將數(shù)據(jù)轉(zhuǎn)換為工作表:使用 XLSX.utils.json_to_sheet 方法將JSON數(shù)據(jù)轉(zhuǎn)換為工作表。

創(chuàng)建工作簿并添加工作表:使用 XLSX.utils.book_new 創(chuàng)建一個新的工作簿,然后使用 XLSX.utils.book_append_sheet 將工作表添加到工作簿中。

生成Excel文件的二進制字符串:使用 XLSX.write 方法將工作簿寫入二進制字符串。

將二進制字符串轉(zhuǎn)換為Blob對象:使用 Blob 構(gòu)造函數(shù)將二進制字符串轉(zhuǎn)換為Blob對象。

使用FileSaver保存文件:使用 saveAs 方法將Blob對象保存為Excel文件。

完成了在Vue.js項目中導出Excel文件的功能。

以上就是詳解Vue如何使用xlsx庫導出Excel文件的詳細內(nèi)容,更多關于Vue xlsx導出Excel的資料請關注腳本之家其它相關文章!

相關文章

  • vue之瀏覽器存儲方法封裝實例

    vue之瀏覽器存儲方法封裝實例

    下面小編就為大家分享一篇vue之瀏覽器存儲方法封裝實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue2和Vue3的10種組件通信方式梳理

    Vue2和Vue3的10種組件通信方式梳理

    這篇文章主要介紹了Vue2和Vue3的10種組件通信方式梳理,本文將通過選項式API?組合式API以及setup三種不同實現(xiàn)方式全面介紹Vue2和Vue3的組件通信方式,需要的朋友可以參考一下
    2022-08-08
  • 快速修改antd?vue單個組件的默認樣式

    快速修改antd?vue單個組件的默認樣式

    這篇文章主要介紹了快速修改antd?vue單個組件的默認樣式方式,具有很好的參考價值,希望對大家有所幫助。
    2022-08-08
  • vue3+vite+ts之a(chǎn)xios的坑及解決

    vue3+vite+ts之a(chǎn)xios的坑及解決

    這篇文章主要介紹了vue3+vite+ts之a(chǎn)xios的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vue3繼承并擴展三方組件完成二次封裝的示例詳解

    vue3繼承并擴展三方組件完成二次封裝的示例詳解

    這篇文章主要介紹了vue3繼承并擴展三方組件完成二次封裝,文章使用naiveui的Input組件進行舉例,elementPlus或者其他組件庫同理,并通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Vue3中watch監(jiān)聽使用詳解

    Vue3中watch監(jiān)聽使用詳解

    watch 函數(shù)用來偵聽特定的數(shù)據(jù)源,并在回調(diào)函數(shù)中執(zhí)行副作用,下面這篇文章主要給大家介紹了關于Vue3中watch監(jiān)聽使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • vue2中的el-select組件數(shù)據(jù)太多,如何實現(xiàn)滾動加載數(shù)據(jù)效果

    vue2中的el-select組件數(shù)據(jù)太多,如何實現(xiàn)滾動加載數(shù)據(jù)效果

    這篇文章主要介紹了vue2中的el-select組件數(shù)據(jù)太多,如何實現(xiàn)滾動加載數(shù)據(jù)效果,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue3.0 vue-router4.0打包后頁面空白的解決方法

    vue3.0 vue-router4.0打包后頁面空白的解決方法

    本文主要介紹了vue3.0 vue-router4.0打包后頁面空白的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Vuex總體案例詳解

    Vuex總體案例詳解

    這篇文章主要介紹了Vuex總體案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • vue在.js文件中如何進行路由跳轉(zhuǎn)

    vue在.js文件中如何進行路由跳轉(zhuǎn)

    這篇文章主要介紹了vue在.js文件中如何進行路由跳轉(zhuǎn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論