当前位置: 首页 > wzjs >正文

群晖wordpress 站点青岛做网站哪家好

群晖wordpress 站点,青岛做网站哪家好,网站内容有什么特点,最好好看的中文字幕Vue Ant Design xlsx 实现表格数据导出功能全攻略 引言 在日常管理系统开发中,表格数据导出Excel是高频需求。本文将结合Vue3生态,演示如何使用Ant Design Vue的Table组件配合xlsx库,实现优雅的表格数据导出功能。 一、环境准备 1.1 基…

Vue + Ant Design + xlsx 实现表格数据导出功能全攻略

引言

在日常管理系统开发中,表格数据导出Excel是高频需求。本文将结合Vue3生态,演示如何使用Ant Design Vue的Table组件配合xlsx库,实现优雅的表格数据导出功能。

一、环境准备

1.1 基础依赖

npm install xlsx file-saver
  • xlsx:核心Excel处理库
  • file-saver:文件保存辅助工具

二、核心实现思路

  1. 数据准备:将Antd Table的dataSource转换为xlsx需要的二维数组格式
  2. 样式处理:处理日期、金额等特殊格式字段
  3. 文件生成:利用xlsx库生成Workbook对象
  4. 触发下载:通过Blob对象和FileSaver实现无感下载

三、完整代码实现

3.1 表格组件模板

<template><a-button type="primary" @click="handleExport">导出Excel</a-button><a-table :columns="columns" :dataSource="data" rowKey="id" />
</template>

3.2 核心逻辑实现

import { ref } from 'vue'
import * as XLSX from 'xlsx/xlsx.mjs'
import { saveAs } from 'file-saver'export default {setup() {// 模拟表格数据const data = ref([{id: 1,name: '张三',department: '技术部',salary: 15000,joinDate: '2022-03-15'},// 更多数据...])// 表格列配置const columns = [{ title: 'ID', dataIndex: 'id' },{ title: '姓名', dataIndex: 'name' },{ title: '部门', dataIndex: 'department' },{ title: '薪资', dataIndex: 'salary' },{ title: '入职日期', dataIndex: 'joinDate' }]// 核心导出方法const handleExport = () => {// 1. 数据转换const exportData = data.value.map(item => ({'ID': item.id,'姓名': item.name,'部门': item.department,'薪资': `¥${item.salary.toLocaleString()}`,'入职日期': new Date(item.joinDate).toLocaleDateString()}))// 2. 创建工作表const worksheet = XLSX.utils.json_to_sheet(exportData, {header: Object.keys(exportData[0]),skipHeader: false})// 3. 创建工作簿const workbook = XLSX.utils.book_new()XLSX.utils.book_append_sheet(workbook, worksheet, '员工信息')// 4. 生成Excel文件const excelBuffer = XLSX.write(workbook, {bookType: 'xlsx',type: 'array'})// 5. 触发下载const blob = new Blob([excelBuffer], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})saveAs(blob, `员工信息表_${new Date().toLocaleDateString()}.xlsx`)}return { data, columns, handleExport }}
}

四、关键优化点

4.1 复杂表头处理

// 嵌套表头配置示例
const columns = [{title: '基本信息',children: [{ title: '姓名', dataIndex: 'name' },{ title: '部门', dataIndex: 'department' }]},{title: '薪资信息',children: [{ title: '基本工资', dataIndex: 'baseSalary' },{ title: '绩效奖金', dataIndex: 'bonus' }]}
]

4.2 大数据量优化

// 分片导出(示例伪代码)
const exportLargeData = async () => {const chunkSize = 5000let current = 0while(current < total) {const chunk = await fetchDataChunk(current, chunkSize)// 合并数据到工作表...current += chunkSize}
}

4.3 样式增强

// 设置单元格样式
const ws = XLSX.utils.aoa_to_sheet([])
ws['A1'].s = {font: { bold: true, color: { rgb: "FF0000" } },fill: { fgColor: { rgb: "FFFF00" } }
}

五、常见问题解决

5.1 日期格式问题

// 转换日期格式
const formatDate = (dateStr) => {return new Date(dateStr).toLocaleDateString('zh-CN', {year: 'numeric',month: '2-digit',day: '2-digit'})
}

5.2 数字精度丢失

// 保留两位小数
Number(123.456).toFixed(2)

5.3 中文乱码问题

// 在XLSX.write时添加编码配置
XLSX.write(workbook, {bookType: 'xlsx',type: 'binary',cellStyles: true,defaultCharSet: 'UTF-8'
})

六、总结

本文通过Vue3 + Ant Design + xlsx的组合方案,实现了完整的表格数据导出功能。核心要点包括:

  1. 数据结构的灵活转换
  2. xlsx库的深度使用
  3. 浏览器兼容性处理
  4. 复杂场景的扩展方案

实际开发中可根据需求添加以下功能:

  • 导出进度提示
  • 自定义模板导入
  • 多Sheet页支持
  • 权限控制(敏感字段过滤)

文章转载自:

http://gKiJa6Bu.Ljpqy.cn
http://Jye4INyK.Ljpqy.cn
http://4P2u2krE.Ljpqy.cn
http://0h0wO6TS.Ljpqy.cn
http://Xq0s4H1i.Ljpqy.cn
http://8qtYjSs8.Ljpqy.cn
http://YfJNNups.Ljpqy.cn
http://G6AAsZ2F.Ljpqy.cn
http://CsiuHEWN.Ljpqy.cn
http://hVXIrXJ8.Ljpqy.cn
http://xRvoyR6C.Ljpqy.cn
http://ROwX9Vqp.Ljpqy.cn
http://AYeUJ6tQ.Ljpqy.cn
http://lMCtinUb.Ljpqy.cn
http://hTrSFI3U.Ljpqy.cn
http://TFbm9fHW.Ljpqy.cn
http://GAXDv77d.Ljpqy.cn
http://wA4EcliB.Ljpqy.cn
http://ZehxYOUV.Ljpqy.cn
http://Y4Q0kBBf.Ljpqy.cn
http://OPmKH0ai.Ljpqy.cn
http://nzoejnZY.Ljpqy.cn
http://30CBdgRh.Ljpqy.cn
http://kux4Qk3k.Ljpqy.cn
http://6ulbPtoG.Ljpqy.cn
http://0MdnHr6T.Ljpqy.cn
http://haEU4u41.Ljpqy.cn
http://4vOR3hnP.Ljpqy.cn
http://D2SBT9CF.Ljpqy.cn
http://SsUD7wOA.Ljpqy.cn
http://www.dtcms.com/wzjs/730545.html

相关文章:

  • 筹划建设协会网站的方案怎么找网站
  • 寻找哈尔滨网站建设北京朝阳区网站建设
  • 服务器网站建设实训报告网站外链工具
  • 免费网站建设讯息外贸网站排行榜前十名
  • 企业网站设计有哪些新功能广州企业建站素材
  • 网站建设典型材料企业网站的开发公司
  • 江苏建设执业资格注册中心官方网站php网站开发专员招聘
  • 手机网站微信链接怎么做泰安
  • 专业酒店设计网站建设网站建设最新
  • 新乡哪个公司做网站好上海哪些做网站
  • 免费做网站表白网页制作成品网站
  • 艺纵网站建设建立网站平台需要多少钱
  • 公司网站哪家做的好吉林专业做网站
  • 上海高端网站开发公恶意刷网站
  • 平台式建站网页编辑排版工具有哪些
  • 手机网站底部固定菜单如何制作微信小程序教程
  • 巴中微网站建设规模以上工业企业奖励
  • o基础学建网站做家电选招标采购哪一个网站好
  • wordpress 下载页插件下载莱芜网站优化费用
  • 做网站用什么编程软件工程建设监理名词解释
  • 类似于微博网站怎么做网站平台建设公司经营范围
  • 太仓网站建设企业网站南京专业网站制作公司有哪些
  • 海淀区网站搭建个人网站备案类型
  • 绍兴市越城区建设局网站网页不能运行wordpress
  • 青海西宁网站开发公司商丘网络推广平台
  • 自己做网站帮公司出认证证书违法吗越秀营销型网站建设
  • 怎么建好网站好的设计logo网站
  • 四川建设厅网站打不开重庆建网站城选快忻科技悉心
  • 襄阳建设路21号创意园网站如何装修网店详细步骤
  • 做蛋糕的网站酒盒包装设计公司