0

0

Kendo Vue 多表格数据导出至单个 Excel 文件(多工作表)

心靈之曲

心靈之曲

发布时间:2026-03-16 11:23:03

|

153人浏览过

|

来源于php中文网

原创

Kendo Vue 多表格数据导出至单个 Excel 文件(多工作表)

本文详解如何使用 kendo vue excel 导出组件,将多个 grid 表格数据合并导出为一个 excel 文件,并为每张表格自动分配独立工作表(sheet),涵盖核心 api 调用、工作表合并逻辑与关键注意事项。

本文详解如何使用 kendo vue excel 导出组件,将多个 grid 表格数据合并导出为一个 excel 文件,并为每张表格自动分配独立工作表(sheet),涵盖核心 api 调用、工作表合并逻辑与关键注意事项。

在企业级 Vue 应用中,常需将多个业务模块的表格数据(如订单列表、用户统计、库存明细、销售趋势)统一导出为一份结构清晰的 Excel 报表。Kendo Vue 提供了 @progress/kendo-vue-excel-export 与 @progress/kendo-file-saver 组合方案,原生支持多工作表导出——其核心在于复用 workbookOptions 构建单个工作簿(Workbook),再通过手动合并 sheets 数组实现多表整合,而非调用多次 saveExcel(后者会生成多个独立文件)。

✅ 正确实现步骤

  1. 安装并导入必要模块
    确保已安装对应依赖:

    npm install @progress/kendo-vue-excel-export @progress/kendo-file-saver

    在组件中导入:

    Machine Translation
    Machine Translation

    聚合多个来源的AI翻译

    下载
    import { saveExcel, workbookOptions, toDataURL } from "@progress/kendo-vue-excel-export";
    import { saveAs } from "@progress/kendo-file-saver";
  2. 构建多工作表 Workbook 对象
    关键逻辑:仅调用一次 workbookOptions() 初始化主工作簿,其余表格通过 workbookOptions() 分别生成独立 sheet 配置,再将其 sheets[0] 推入主工作簿的 sheets 数组:

    customSaveExcel(exportOptions) {
      const saveFn = (dataURL) => saveAs(dataURL, `${exportOptions.fileName}.xlsx`);
    
      // 主工作簿(第一张表)
      const firstTable = workbookOptions({
        data: exportOptions.data,
        columns: exportOptions.columns,
        // 注意:fileName 在 workbookOptions 中不生效,仅用于最终 saveAs
      });
    
      // 后续表格均构造为独立 sheet 配置
      const secondTable = workbookOptions({
        data: this.second_table_data,
        columns: this.second_table_column,
      });
    
      const thirdTable = workbookOptions({
        data: this.third_table_data,
        columns: this.third_table_column,
      });
    
      const fourthTable = workbookOptions({
        data: this.fourth_table_data,
        columns: this.fourth_table_column,
      });
    
      // 【核心】将其他 sheet 追加到主工作簿
      firstTable.sheets.push(secondTable.sheets[0]);
      firstTable.sheets.push(thirdTable.sheets[0]);
      firstTable.sheets.push(fourthTable.sheets[0]);
    
      // 触发导出
      toDataURL(firstTable).then(saveFn);
    }
  3. 触发导出(示例)
    在按钮点击事件中传入首张表的数据与列配置:

    <button @click="allTableDataExport({
      data: this.first_table_data,
      columns: this.first_table_columns
    })">
      导出全部表格(4 个工作表)
    </button>

⚠️ 注意事项与最佳实践

  • fileName 参数仅对 saveAs 有效:workbookOptions 的 fileName 属性会被忽略,务必在 saveAs(dataURL, 'xxx.xlsx') 中指定完整文件名及 .xlsx 后缀。
  • 列配置一致性:各 columns 数组需明确定义 field、title 和可选的 width,否则表头可能缺失或错位。建议统一管理列配置对象。
  • 数据格式要求:data 必须为数组(如 [{id: 1, name: 'A'}, ...]),不支持嵌套对象或 Promise;若含异步数据,请先 await 解析完成再调用导出。
  • 性能提示:单文件超过 10 万行或 5 张以上工作表时,建议添加加载状态提示,并考虑分页导出策略。
  • 样式限制:Kendo Vue Excel 导出默认不支持单元格合并、条件格式等高级样式;如需定制,需借助 toDataURL 返回的 Workbook 实例手动操作 sheets[i].rows[j].cells[k] 属性(详见 Kendo Workbook API)。

通过上述方式,你即可在 Kendo Vue 项目中稳健实现「一文件、多表格、一分离工作表」的专业级 Excel 导出能力,兼顾可维护性与用户体验。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
promise的用法
promise的用法

“promise” 是一种用于处理异步操作的编程概念,它可以用来表示一个异步操作的最终结果。Promise 对象有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。Promise的用法主要包括构造函数、实例方法(then、catch、finally)和状态转换。

339

2023.10.12

html文本框类型介绍
html文本框类型介绍

html文本框类型有单行文本框、密码文本框、数字文本框、日期文本框、时间文本框、文件上传文本框、多行文本框等等。详细介绍:1、单行文本框是最常见的文本框类型,用于接受单行文本输入,用户可以在文本框中输入任意文本,例如用户名、密码、电子邮件地址等;2、密码文本框用于接受密码输入,用户在输入密码时,文本框中的内容会被隐藏,以保护用户的隐私;3、数字文本框等等。

429

2023.10.12

excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

1455

2023.07.25

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

428

2023.07.31

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

573

2023.08.02

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

1266

2023.08.02

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

377

2023.08.02

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

4564

2023.08.09

C++多线程并发控制与线程安全设计实践
C++多线程并发控制与线程安全设计实践

本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。

2

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号