最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Vue如何使用xlsx庫(kù)導(dǎo)出Excel文件

 更新時(shí)間:2025年01月26日 10:34:52   作者:LCG元  
第三方庫(kù)xlsx提供了強(qiáng)大的功能來(lái)處理Excel文件,它可以簡(jiǎn)化導(dǎo)出Excel文件這個(gè)過(guò)程,本文將為大家詳細(xì)介紹一下它的具體使用,需要的小伙伴可以了解下

在Vue.js項(xiàng)目中導(dǎo)出Excel文件,使用第三方庫(kù)xlsx來(lái)簡(jiǎn)化這個(gè)過(guò)程。它提供了強(qiáng)大的功能來(lái)處理Excel文件。

示例,展示如何在Vue.js項(xiàng)目中導(dǎo)出Excel文件。

1. 安裝依賴(lài)

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

npm install xlsx file-saver

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

接下來(lái),創(chuàng)建一個(gè)Vue組件,該組件包含一個(gè)按鈕,點(diǎn)擊按鈕時(shí)會(huì)導(dǎo)出Excel文件。

<template>
  <div>
    <button @click="exportToExcel">導(dǎo)出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)建一個(gè)新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

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

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

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

3. 解釋代碼

模板部分 (<template>)

<template>
  <div>
    <button @click="exportToExcel">導(dǎo)出Excel</button>
  </div>
</template>

這里創(chuàng)建了一個(gè)簡(jiǎn)單的按鈕,當(dāng)用戶(hù)點(diǎn)擊按鈕時(shí),會(huì)觸發(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)建一個(gè)新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

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

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

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

導(dǎo)入庫(kù)

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

導(dǎo)入 xlsx 和 file-saver 庫(kù)。

定義數(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)建一個(gè)新的工作簿并添加工作表
      const workbook = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

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

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

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

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

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

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

生成Excel文件的二進(jìn)制字符串:使用 XLSX.write 方法將工作簿寫(xiě)入二進(jìn)制字符串。

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

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

完成了在Vue.js項(xiàng)目中導(dǎo)出Excel文件的功能。

以上就是詳解Vue如何使用xlsx庫(kù)導(dǎo)出Excel文件的詳細(xì)內(nèi)容,更多關(guān)于Vue xlsx導(dǎo)出Excel的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue3 vite如何讀取文件內(nèi)容

    vue3 vite如何讀取文件內(nèi)容

    這篇文章主要介紹了vue3 vite如何讀取文件內(nèi)容問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 解決vue中使用less/sass及使用中遇到無(wú)效的問(wèn)題

    解決vue中使用less/sass及使用中遇到無(wú)效的問(wèn)題

    這篇文章主要介紹了解決vue中使用less/sass及使用中遇到無(wú)效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Vue中設(shè)置el-select的高度不生效問(wèn)題及解決方案

    Vue中設(shè)置el-select的高度不生效問(wèn)題及解決方案

    文章介紹了如何使用ElementUI框架中的el-select組件,并解決設(shè)置其高度不生效的問(wèn)題,在Vue2.x中,使用/deep/關(guān)鍵字可以穿透組件作用域修改樣式;在Vue2.6+到Vue3初期,推薦使用::v-deep關(guān)鍵字;在最新的Vue3和構(gòu)建工具中,推薦使用:deep()偽類(lèi)來(lái)代替::v-deep
    2025-01-01
  • 詳解Vue3如何優(yōu)雅的監(jiān)聽(tīng)localStorage變化

    詳解Vue3如何優(yōu)雅的監(jiān)聽(tīng)localStorage變化

    最近在研究框架,也仔細(xì)用了Vue3一些功能,所以本文就來(lái)和大家聊聊Vue3如何實(shí)現(xiàn)優(yōu)雅的監(jiān)聽(tīng)localStorage的變化,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    這篇文章主要介紹了Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳解Vue中Computed與watch的用法與區(qū)別

    詳解Vue中Computed與watch的用法與區(qū)別

    這篇文章主要介紹了Vue中computed和watch的使用與區(qū)別,文中通過(guò)示例為大家進(jìn)行了詳細(xì)講解,對(duì)Vue感興趣的同學(xué),可以學(xué)習(xí)一下
    2022-04-04
  • vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果

    vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果

    這篇文章主要為大家詳細(xì)介紹了vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • vue項(xiàng)目,代碼提交至碼云,iconfont的用法說(shuō)明

    vue項(xiàng)目,代碼提交至碼云,iconfont的用法說(shuō)明

    這篇文章主要介紹了vue項(xiàng)目,代碼提交至碼云,iconfont的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vue+epubjs實(shí)現(xiàn)電子書(shū)閱讀器的基本功能

    vue+epubjs實(shí)現(xiàn)電子書(shū)閱讀器的基本功能

    這篇文章主要為大家詳細(xì)介紹了如何使用vue+epubjs實(shí)現(xiàn)電子書(shū)閱讀器的基本功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 解決webpack+Vue引入iView找不到字體文件的問(wèn)題

    解決webpack+Vue引入iView找不到字體文件的問(wèn)題

    今天小編就為大家分享一篇解決webpack+Vue引入iView找不到字體文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論

云和县| 琼结县| 沾化县| 乌苏市| 汉寿县| 格尔木市| 凌云县| 增城市| 清流县| 扬州市| 蛟河市| 邮箱| 正宁县| 普兰店市| 高青县| 航空| 信丰县| 武功县| 西贡区| 鄂伦春自治旗| 丁青县| 丹棱县| 南汇区| 乌海市| 响水县| 奉贤区| 洪泽县| 新泰市| 堆龙德庆县| 芮城县| 新津县| 织金县| 贡山| 阿坝县| 和硕县| 梓潼县| 八宿县| 莆田市| 芦溪县| 莱西市| 冀州市|