自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue3問(wèn)題:如何將el-table導(dǎo)出為Excel表格?五個(gè)注意點(diǎn)要知道!

開(kāi)發(fā) 前端
Xlsx是一個(gè)流行的JavaScript庫(kù),用于在瀏覽器中讀取、解析和生成Excel文件。它支持多種Excel文件格式,包括XLSX、XLS、CSV和ODS。你可以使用xlsx庫(kù)來(lái)創(chuàng)建、修改和操作工作簿、工作表、單元格等Excel文件中的元素。

大家好,我是大澈!

今天分享一個(gè)開(kāi)發(fā)中比較常見(jiàn)的問(wèn)題,如何導(dǎo)出表格。

可以這么說(shuō),只要頁(yè)面上有表格出現(xiàn)的地方,你就要做好實(shí)現(xiàn)導(dǎo)出功能的打算,因?yàn)槟阌肋h(yuǎn)不知道客戶(hù)要拿表格去做什么。

一、需求分析

1、需求

點(diǎn)擊紅色導(dǎo)出按鈕,將下方表格的內(nèi)容,導(dǎo)出為Excel文檔。

2、問(wèn)題

  • xlsx庫(kù)和file-saver庫(kù)各自的作用
  • 使用時(shí)的注意點(diǎn)
  • XLSX.utils.table_to_book和XLSX.write的作用

二、需求實(shí)現(xiàn)速覽

1、安裝依賴(lài)

npm install --save xlsx
npm install --save file-saver

2、編寫(xiě)導(dǎo)出Excel的公共方法

在公共方法文件utils.js中,放入如下代碼。

其中,exportExcel方法接受兩個(gè)參數(shù),name是生成excel的文件名,tableName是表格的id。

// 導(dǎo)入依賴(lài)
import FileSaver from 'file-saver';
import XLSX from 'xlsx';

/**
* 導(dǎo)出Excel表格
* @param name 生成excel的文件名,如:interestTable.xlsx
* @param tableName 表格的id,如:#tableId
* */
export const exportExcel = (name, tableName) => {
let sel = XLSX.utils.table_to_book(document.querySelector(tableName))
let selIn = XLSX.write(sel, { bookType: 'xlsx', bookSST: true, type: 'array' })

try {
FileSaver.saveAs(new Blob([selIn], { type: 'application/octet-stream' }), name)
} catch (e) {
if (typeof console !== 'undefined') console.log(e, selIn)
}

return selIn
}

3、導(dǎo)入使用公共方法

<!-- 導(dǎo)出按鈕 -->
<el-button @click="exportExcel('interestTable.xlsx', '#tableId')">導(dǎo)出</el-button>

<!-- 表格 -->
<el-table id="tableId" :data="tableData" border style="width: 100%"></el-table>

// 導(dǎo)入指定公共方法
import { exportExcel } from "@/common/utils";

三、問(wèn)題答案詳解

1、xlsx庫(kù)和file-saver庫(kù)各自的作用

(1)xlsx庫(kù)

xlsx是一個(gè)流行的JavaScript庫(kù),用于在瀏覽器中讀取、解析和生成Excel文件。它支持多種Excel文件格式,包括XLSX、XLS、CSV和ODS。你可以使用xlsx庫(kù)來(lái)創(chuàng)建、修改和操作工作簿、工作表、單元格等Excel文件中的元素。

(2)file-saver庫(kù)

file-saver是一個(gè)用于在瀏覽器中保存文件的JavaScript庫(kù)。它提供了一個(gè)簡(jiǎn)單的API,可以將數(shù)據(jù)保存為文件,并將其下載到用戶(hù)的本地計(jì)算機(jī)。file-saver庫(kù)通過(guò)創(chuàng)建一個(gè)Blob對(duì)象并觸發(fā)瀏覽器的文件下載功能來(lái)實(shí)現(xiàn)文件保存。

2、使用時(shí)的注意點(diǎn)

(1)瀏覽器兼容性

xlsx、file-saver庫(kù)依賴(lài)瀏覽器的Blob和FileSaver功能。大多數(shù)現(xiàn)代瀏覽器都支持這些功能,但是在某些舊版本或特定的移動(dòng)瀏覽器中可能不被支持。在使用前,請(qǐng)確保目標(biāo)瀏覽器支持Blob和FileSaver。

(2)數(shù)據(jù)格式

確保將數(shù)據(jù)正確轉(zhuǎn)換為適合x(chóng)lsx庫(kù)的格式。xlsx庫(kù)支持多種數(shù)據(jù)源,如JSON、數(shù)組和HTML表格。根據(jù)你的數(shù)據(jù)源,使用適當(dāng)?shù)姆椒▽⑵滢D(zhuǎn)換為工作表的格式。

(3)文件格式和選項(xiàng)

xlsx庫(kù)支持多種Excel文件格式,如XLSX、XLS、CSV和ODS。在使用XLSX.write函數(shù)時(shí),可以設(shè)置不同的選項(xiàng)來(lái)指定生成的文件類(lèi)型、樣式、圖表等。查閱xlsx庫(kù)的文檔以了解更多選項(xiàng)和配置信息。

(4)大數(shù)據(jù)量處理

如果你要處理大量數(shù)據(jù),尤其是在較舊或性能較低的設(shè)備上,可能會(huì)遇到性能問(wèn)題。在這種情況下,你可以考慮使用流式處理或分頁(yè)加載數(shù)據(jù),以避免內(nèi)存消耗過(guò)大。

(5)錯(cuò)誤處理

在使用xlsx、file-saver庫(kù)時(shí),要注意正確處理可能出現(xiàn)的錯(cuò)誤。例如,如果數(shù)據(jù)轉(zhuǎn)換失敗、保存文件失敗或?yàn)g覽器不支持所需功能,需要捕獲和處理這些錯(cuò)誤,并提供適當(dāng)?shù)姆答伣o用戶(hù)。

3、XLSX.utils.table_to_book和XLSX.write的作用

(1)XLSX.utils.table_to_book

XLSX.utils.table_to_book是xlsx庫(kù)中的一個(gè)函數(shù),它的作用是將HTML表格轉(zhuǎn)換為Workbook對(duì)象。

在Excel文件中,Workbook是最高級(jí)別的對(duì)象,它包含了多個(gè)工作表(Worksheets)以及其他Excel文件的元數(shù)據(jù)。table_to_book函數(shù)的作用是將一個(gè)指定的HTML表格轉(zhuǎn)換為Workbook對(duì)象,以便進(jìn)一步操作和處理。

具體來(lái)說(shuō),table_to_book函數(shù)將HTML表格的內(nèi)容和結(jié)構(gòu)解析為Workbook對(duì)象的結(jié)構(gòu)。它會(huì)將表格的每一行轉(zhuǎn)換為工作表(Worksheet)中的行,將表格的每一列轉(zhuǎn)換為工作表中的列,并將單元格的內(nèi)容、樣式等信息保存在對(duì)應(yīng)的位置上。

(2)XLSX.write

XLSX.write是xlsx庫(kù)中的一個(gè)函數(shù),它的作用是將Workbook對(duì)象轉(zhuǎn)換為Excel文件的二進(jìn)制數(shù)據(jù)或文件流。

在Excel文件處理中,Workbook是最高級(jí)別的對(duì)象,它包含了多個(gè)工作表(Worksheets)以及其他Excel文件的元數(shù)據(jù)。XLSX.write函數(shù)的作用是將給定的Workbook對(duì)象轉(zhuǎn)換為Excel文件的二進(jìn)制數(shù)據(jù),以便保存到本地或進(jìn)行其他處理。

具體來(lái)說(shuō),XLSX.write函數(shù)接受兩個(gè)參數(shù):

  • workbook:要轉(zhuǎn)換為Excel文件的Workbook對(duì)象,它包含了要保存的數(shù)據(jù)、工作表結(jié)構(gòu)、樣式和其他元數(shù)據(jù)。
  • options:一個(gè)可選的配置對(duì)象,用于指定轉(zhuǎn)換的選項(xiàng),如文件類(lèi)型(例如XLSX、CSV)、文件的輸出格式(例如ArrayBuffer、BinaryString、Blob等)以及其他設(shè)置。默認(rèn)選項(xiàng)為{ type: 'array', bookType: 'xlsx' },表示將Workbook對(duì)象轉(zhuǎn)換為XLSX格式的二進(jìn)制數(shù)據(jù)數(shù)組。
責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2023-11-23 08:22:35

Vue3Tooltip

2022-12-12 13:19:11

Vue3開(kāi)發(fā)技巧

2020-09-08 14:05:06

Redis數(shù)據(jù)庫(kù)緩存

2024-02-01 09:10:04

頁(yè)面引導(dǎo)工具Vue3

2022-04-05 11:29:40

Linux安裝操作系統(tǒng)

2023-11-28 09:03:59

Vue.jsJavaScript

2009-06-30 13:00:30

JSP入門(mén)

2024-03-19 08:35:30

Vue3添加水印維護(hù)版權(quán)標(biāo)識(shí)

2022-06-21 12:09:18

Vue差異

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用

2024-01-23 09:15:33

Vue3組件拖拽組件內(nèi)容編輯

2024-01-03 08:20:40

2021-12-02 05:50:35

Vue3 插件Vue應(yīng)用

2024-01-08 08:50:19

Vue3級(jí)聯(lián)菜單數(shù)據(jù)懶加載

2021-11-30 08:19:43

Vue3 插件Vue應(yīng)用

2011-05-05 11:31:00

2023-12-23 11:15:25

2021-05-12 10:25:29

開(kāi)發(fā)技能代碼

2023-12-18 09:58:46

微信掃碼支付Vue3

2023-11-20 08:29:33

Vue微信掃碼授權(quán)登錄
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)