vue3前端實現導出Excel功能

前端實現導出功能可以使用一些插件
我使用的是xlsx庫
1.首先我們需要在vue3的項目中安裝xlsx庫。可以使用npm 或者 pnpm來進行安裝

npm install xlsx

或者

pnpm install xlsx

2.在vue組件中引入xlsx庫

import * as XLSX from 'xlsx';

3.定義導出實例方法

const exportExcel = () => {// 準備要導出的數據,這里假設你的數據存儲在dataArray中const dataArray = [{ name: 'John', age: 30, address: 'New York' },{ name: 'Jane', age: 25, address: 'London' },{ name: 'Mike', age: 32, address: 'San Francisco' },];// 將數據轉換為工作表const ws = XLSX.utils.json_to_sheet(dataArray);// 創建一個新的工作簿,并將工作表添加到工作簿中const wb = XLSX.utils.book_new();XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');// 導出為Excel文件// 如果需要設置樣式,則使用XLSXStyle.writeFile(wb, '文件名.xlsx');XLSX.writeFile(wb, '表格數據.xlsx');
}

完整代碼演示

<template><div><button @click="exportExcel">導出Excel</button><!-- 你可以在這里添加其他內容,如表格等 --></div>
</template>
<script setup>
import { ref } from 'vue';
import * as XLSX from 'xlsx';const exportExcel = () => {// 準備要導出的數據,這里假設你的數據存儲在dataArray中const dataArray = [{ name: 'John', age: 30, address: 'New York' },{ name: 'Jane', age: 25, address: 'London' },{ name: 'Mike', age: 32, address: 'San Francisco' },];//需要注意的是,這樣導出來的數據表頭顯示的是name,age,address,并不是中文,如果想要中文的話需要做一下處理const data = []var titlist = ['名稱','年齡','時間',]data.push(titlist)exportExcel .value.forEach((item) => {var itemArr = [item.name,item.age,item.address,]data.push(itemArr)})// 將數據轉換為工作表const ws = XLSX.utils.json_to_sheet(data);// 創建一個新的工作簿,并將工作表添加到工作簿中const wb = XLSX.utils.book_new();XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');// 導出為Excel文件// 如果需要設置樣式,則使用XLSXStyle.writeFile(wb, '文件名.xlsx');XLSX.writeFile(wb, '表格數據.xlsx');
};
</script>

tip:

  • 數據格式:確保你的數據格式正確,以便能夠正確的導出到excel文件中。
  • 樣式設置:如果你需要為Excel文件中的單元格設置樣式,可以使用xlsx-style庫。在設置樣式時,需要了解xlsx-style庫提供的樣式選項。
  • 大數據量處理:如果你的數據非常大,導出過程中時間會很長,需要增加提示來提升用戶體驗。

好了,以上就是全部代碼啦,希望可以幫到你~

看到這如果對你有幫助的話,不如來一波點贊加關注吧~
感謝支持~
加個關注不迷路~~~~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83887.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83887.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83887.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++特殊工具與技術】優化內存分配(一):C++中的內存分配

目錄 一、C 內存的基本概念? 1.1 內存的物理與邏輯結構? 1.2 C 程序的內存區域劃分? 二、棧內存分配? 2.1 棧內存的特點? 2.2 棧內存分配示例? 三、堆內存分配? 3.1 new和delete操作符? 4.2 內存泄漏與懸空指針問題? 4.3 new和delete的重載? 四、智能指針…

DeepSeek 賦能智慧能源:微電網優化調度的智能革新路徑

目錄 一、智慧能源微電網優化調度概述1.1 智慧能源微電網概念1.2 優化調度的重要性1.3 目前面臨的挑戰 二、DeepSeek 技術探秘2.1 DeepSeek 技術原理2.2 DeepSeek 獨特優勢2.3 DeepSeek 在 AI 領域地位 三、DeepSeek 在微電網優化調度中的應用剖析3.1 數據處理與分析3.2 預測與…

Redis配合唯一序列號實現接口冪等性方案

1.原理 可以在客戶端每次請求服務端的時候&#xff0c;客戶端請求中攜帶一個短時間內唯一不重復的序列號來確保其唯一性&#xff0c;這個序列號常見的幾種形式有&#xff1a;基于時間戳、用戶ID和隨機數的組合&#xff1b;基于請求的來源與客戶端生成的唯一序列號組合 2.方案…

代碼安全規范1.1

命令注入是指應用程序執行命令的字符串或字符串的一部分來源于不可信賴的數據源&#xff0c;程序沒有對這 些不可信賴的數據進行驗證、過濾&#xff0c;導致程序執行惡意命令的一種攻擊方式。 例 1 &#xff1a;以下代碼通過 Runtime.exec() 方法調用 Windows 的 dir 命…

Jenkins實現自動化部署Springboot項目到Docker容器(Jenkinsfile)

Jenkins實現自動化部署Springboot項目到Docker容器 引言:為什么需要自動化部署? 在軟件開發中,頻繁的手動部署既耗時又容易出錯。通過 Docker + Jenkins + Git 的組合,您可以實現: ? 一鍵部署:代碼推送后自動構建和部署?? 環境一致性:Docker 確保開發、測試、生產環…

第二屆智慧教育與計算機技術國際學術會議(IECT 2025)

在數字化浪潮中&#xff0c;智慧教育與計算機技術的深度融合正重構教育生態。智能教學系統打破傳統課堂的單向灌輸模式&#xff0c;通過機器學習分析學習數據&#xff0c;為學生生成個性化學習路徑&#xff0c;推動被動接受向主動探索轉型。這對教育體系提出核心訴求&#xff1…

驅控邊界在哪里?知名舵機品牌偉創動力CNTE2025展帶來答案

2025年6月12日&#xff0c;北京國防科技裝備展將再度啟幕。作為微型驅控領域的代表性廠商&#xff0c;偉創動力&#xff08;Kpower&#xff09;將帶來覆蓋舵機、減速齒輪箱、無刷電機及一體化驅控模組在內的全系解決方案&#xff0c;舵機產品回應一個至關重要的技術命題——“國…

Day46 Python打卡訓練營

知識點回顧&#xff1a; 1. 不同CNN層的特征圖&#xff1a;不同通道的特征圖 2. 什么是注意力&#xff1a;注意力家族&#xff0c;類似于動物園&#xff0c;都是不同的模塊&#xff0c;好不好試了才知道。 3. 通道注意力&#xff1a;模型的定義和插入的位置 4. 通道注意力后…

專業級PDF轉CAD解決方案

PDF 文件因其出色的便攜性和穩定性&#xff0c;已成為許多用戶的首選格式。但在涉及圖像編輯或精細調整時&#xff0c;CAD 文件顯然更具優勢。 這款 CAD 圖紙轉換工具&#xff0c;界面清爽、操作直觀&#xff0c;是處理圖紙文件的理想助手。 它不僅支持不同版本 CAD 文件之間…

PDF文件如何轉換格式?簡單教程來了

PDF 格式以其高兼容性和穩定性被廣泛使用&#xff0c;但有時為了便于編輯或滿足特定軟件的要求&#xff0c;我們需要將其轉換為其他格式&#xff0c;如 Word、Excel、圖片等。那如何將PDF轉換成其他格式文件呢&#xff1f;其實方法很簡單&#xff0c;不清楚的小伙伴一起來看看吧…

三十四、面向對象底層邏輯-SpringMVC九大組件之FlashMapManager接口設計哲學

在構建符合 RESTful 原則或追求用戶體驗流暢性的 Web 應用時&#xff0c;“重定向后刷新”&#xff08;PRG - Post/Redirect/Get&#xff09;模式是避免表單重復提交、實現頁面無刷新跳轉的黃金法則。然而&#xff0c;重定向&#xff08;REDIRECT:&#xff09;的本質是客戶端發…

android手勢創建及識別保姆級教程

手勢交互&#xff0c;簡單來說&#xff0c;就是通過手指在屏幕上的滑動、點擊、縮放等動作與設備溝通的方式&#xff0c;早已成為現代移動設備用戶體驗的核心支柱。想想看&#xff0c;無論是日常刷短視頻時的上下滑動&#xff0c;還是地圖導航時的雙指縮放&#xff0c;甚至是游…

Python | Windows11通過離線方式安裝pyserial

導言 因公司網絡訪問的限制&#xff0c;沒辦法使用pip install pyserial輕松地安裝pyserial庫。 打開網頁&#xff1a;https://pypi.org/project/pyserial/#files 下載.whl cmd命令行 如下是命令行指令&#xff1a; pip install .\pyserial-3.5-py2.py3-none-any.whlpython …

【nano與Vim】常用命令

使用nano編輯器 保存文件 &#xff1a; 按下CtrlO組合鍵&#xff0c;然后按Enter鍵確認文件名。 退出編輯器 &#xff1a; 按下CtrlX組合鍵。 使用vi或vim編輯器 保存文件 &#xff1a; 按Esc鍵退出插入模式&#xff0c;然后輸入:w并按Enter鍵保存文件。 退出編輯器 &#xf…

(Python網絡爬蟲);抓取B站404頁面小漫畫

目錄 一. 分析網頁 二. 準備工作 三. 實現爬蟲 1. 抓取工作 2. 分析工作 3. 拼接主函數&運行結果 四. 完整代碼清單 1.多線程版本spider.py&#xff1a; 2.異步版本async_spider.py&#xff1a; 經常逛B站的同志們可能知道&#xff0c;B站的404頁面做得別具匠心&…

實戰設計模式之模板方法模式

概述 模板方法模式定義了一個操作中的算法骨架&#xff0c;并將某些步驟延遲到子類中實現。模板方法使得子類可以在不改變算法結構的前提下&#xff0c;重新定義算法中的某些步驟。簡單來說&#xff0c;就是在一個方法中定義了要執行的步驟順序或算法框架&#xff0c;但允許子類…

ROS1: 使用rosbag的方式將點云topic保存為pcd文件

ROS1: 使用rosbag的方式將點云topic保存為pcd文件。 分為兩步&#xff1a;步驟1&#xff1a;通過rosbag錄制點云 &#xff0c;步驟2&#xff1a;通過ros1將rosbag保存為點云pcd文件。 ------------------------ 步驟一&#xff1a;指令示例如下&#xff1a; # topic 名稱&a…

MySQL 高級學習篇

一、連結&#xff08;Join&#xff09; 1.1 概念 聯結&#xff08;Join&#xff09;操作用于將多個表中的列組合在一起&#xff0c;形成一個新的查詢結果集。它允許我們從多個表中提取數據&#xff0c;并基于表之間的關系進行查詢。 1.2 類型 1. 內聯結&#xff08;INNER J…

clickhouse 學習總結

在 ClickHouse 中&#xff0c;配置文件通常位于 /etc/clickhouse 目錄下。這個目錄包含了多個配置文件&#xff0c;用于控制 ClickHouse 的各種服務&#xff08;如服務器、用戶、遠程服務等&#xff09;的配置。 數據存儲目錄/var/lib/clickhouse 配置 文件目錄 /etc/clickho…

理解JavaScript中map和parseInt的陷阱:一個常見的面試題解析

前言 在JavaScript面試中&#xff0c;map和parseInt的組合常常被用作考察候選人對這兩個方法理解深度的題目。讓我們通過一個簡單的例子來深入探討其中的原理。 問題現象 [1, 2, 3].map(parseInt) // 輸出結果是什么&#xff1f;很多人可能會預期輸出[1, 2, 3]&#xff0c;但…