成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue3問題:如何將el-table導出為Excel表格?五個注意點要知道!

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

大家好,我是大澈!

今天分享一個開發中比較常見的問題,如何導出表格。

可以這么說,只要頁面上有表格出現的地方,你就要做好實現導出功能的打算,因為你永遠不知道客戶要拿表格去做什么。

一、需求分析

1、需求

點擊紅色導出按鈕,將下方表格的內容,導出為Excel文檔。

2、問題

  • xlsx庫和file-saver庫各自的作用
  • 使用時的注意點
  • XLSX.utils.table_to_book和XLSX.write的作用

二、需求實現速覽

1、安裝依賴

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

2、編寫導出Excel的公共方法

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

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

// 導入依賴
import FileSaver from 'file-saver';
import XLSX from 'xlsx';

/**
* 導出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、導入使用公共方法

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

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

// 導入指定公共方法
import { exportExcel } from "@/common/utils";

三、問題答案詳解

1、xlsx庫和file-saver庫各自的作用

(1)xlsx庫

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

(2)file-saver庫

file-saver是一個用于在瀏覽器中保存文件的JavaScript庫。它提供了一個簡單的API,可以將數據保存為文件,并將其下載到用戶的本地計算機。file-saver庫通過創建一個Blob對象并觸發瀏覽器的文件下載功能來實現文件保存。

2、使用時的注意點

(1)瀏覽器兼容性

xlsx、file-saver庫依賴瀏覽器的Blob和FileSaver功能。大多數現代瀏覽器都支持這些功能,但是在某些舊版本或特定的移動瀏覽器中可能不被支持。在使用前,請確保目標瀏覽器支持Blob和FileSaver。

(2)數據格式

確保將數據正確轉換為適合xlsx庫的格式。xlsx庫支持多種數據源,如JSON、數組和HTML表格。根據你的數據源,使用適當的方法將其轉換為工作表的格式。

(3)文件格式和選項

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

(4)大數據量處理

如果你要處理大量數據,尤其是在較舊或性能較低的設備上,可能會遇到性能問題。在這種情況下,你可以考慮使用流式處理或分頁加載數據,以避免內存消耗過大。

(5)錯誤處理

在使用xlsx、file-saver庫時,要注意正確處理可能出現的錯誤。例如,如果數據轉換失敗、保存文件失敗或瀏覽器不支持所需功能,需要捕獲和處理這些錯誤,并提供適當的反饋給用戶。

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

(1)XLSX.utils.table_to_book

XLSX.utils.table_to_book是xlsx庫中的一個函數,它的作用是將HTML表格轉換為Workbook對象。

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

具體來說,table_to_book函數將HTML表格的內容和結構解析為Workbook對象的結構。它會將表格的每一行轉換為工作表(Worksheet)中的行,將表格的每一列轉換為工作表中的列,并將單元格的內容、樣式等信息保存在對應的位置上。

(2)XLSX.write

XLSX.write是xlsx庫中的一個函數,它的作用是將Workbook對象轉換為Excel文件的二進制數據或文件流。

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

具體來說,XLSX.write函數接受兩個參數:

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

2022-12-12 13:19:11

Vue3開發技巧

2023-11-23 08:22:35

Vue3Tooltip

2020-09-08 14:05:06

Redis數據庫緩存

2022-04-05 11:29:40

Linux安裝操作系統

2009-06-30 13:00:30

JSP入門

2024-02-01 09:10:04

頁面引導工具Vue3

2023-11-28 09:03:59

Vue.jsJavaScript

2011-05-05 11:31:00

2024-01-03 08:20:40

2024-01-23 09:15:33

Vue3組件拖拽組件內容編輯

2024-03-19 08:35:30

Vue3添加水印維護版權標識

2023-12-23 11:15:25

2022-06-21 12:09:18

Vue差異

2025-04-30 08:00:00

Vue3拖拽組件開發

2021-12-02 05:50:35

Vue3 插件Vue應用

2021-12-01 08:11:44

Vue3 插件Vue應用

2023-02-26 23:23:36

CSS開發Web

2024-04-09 16:24:18

Promise開發

2023-11-20 08:29:33

Vue微信掃碼授權登錄

2023-12-18 09:58:46

微信掃碼支付Vue3
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日日操 | 亚洲精品99999 | 最近免费日本视频在线 | 成人精品一区 | 日产精品久久久一区二区福利 | 精品久久久久久久人人人人传媒 | 亚洲国产成人精品女人久久久 | 7777精品伊人久久精品影视 | 亚洲一区中文字幕 | 欧美午夜一区 | 国产 欧美 日韩 一区 | 国产精品一区二区久久 | 日韩在线观看中文字幕 | 人人爽人人爽 | 成人精品视频 | 999精品网 | 亚洲在线看 | 久久综合影院 | 亚洲品质自拍视频 | 天天操天天摸天天爽 | 国产午夜一级 | 超碰成人免费 | 男人的天堂久久 | 成年人黄色免费视频 | 青青久在线视频 | 中文字幕av一区 | 中文字幕乱码视频32 | 国精日本亚洲欧州国产中文久久 | 欧美福利视频一区 | 91视频在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 一级免费看片 | 中文字幕国产 | 成人片网址 | 色综合色综合色综合 | 91免费入口 | 日韩在线播放一区 | 免费视频一区 | 日韩久久成人 | 婷婷色国产偷v国产偷v小说 | 在线免费观看毛片 |