Vue框架下如何轻松实现Excel、PDF导出?

SpreadJS v14.0正式版下载

项目需求:开发一套基于Vue框架的工程档案管理系统,用于工程项目资料的填写、编辑和归档,经调研需支持如下功能:

  • Excel报表的导入、导出
  • PDF文件的导出
  • 打印表格

经过技术选型,项目组一致决定通过表格组件SpreadJS 来实现。以下是实现Excel报表的导入导出、PDF导出、打印表格的一些思路,供大家参考:

环境介绍

  1. 后台:Spring Boot 2.x
  2. 前台:vue、vue-element、webpack、iview、Vuex.js 2.x
  3. 组件:SpreadJS v11

项目运行效果:

如下是本地的一个Excel文件:

SpreadJS使用教程

通过SpreadJS,导入到项目中的效果:

SpreadJS使用教程

项目中应用了SpreadJS V12.2.5的版本(目前官网SpreadJS的最新版本是V14),其中package.json 需要添加的引用如下:

 

"dependencies": {
"@grapecity/spread-excelio": "12.2.5",
"@grapecity/spread-sheets": "12.2.5",
"@grapecity/spread-sheets-pdf": "^12.2.5",
"@grapecity/spread-sheets-print": "12.2.5",
"@grapecity/spread-sheets-resources-zh": "12.2.5",
"@grapecity/spread-sheets-vue": "12.2.5",
"@grapecity/spread-sheets-charts": "12.2.5" ,
"file-saver": "2.0.2",
"jquery": "2.2.1",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},

 

执行npm install 命令安装SpreadJS 组件

可以参考这篇技术博客:《SpreadJS使用进阶指南 - 使用 NPM 管理你的项目》

导入导出Excel报表

  1. 安装相关的资源包: "\@grapecity/spread-excelio"、 "file-saver"
  2. 在页面中引入: import ExcelIO from '\@grapecity/spread-excelio'、import FaverSaver from 'file-saver'
  3. 如下代码可实现导入导出Excel:

 

exportXlsx () {
let ex = new ExcelIO.IO()
let json = this.spread.toJSON()
ex.save(json, function (blob) {
FaverSaver.saveAs(blob, 'export.xlsx')
}, function (e) {
console.log(e)
})
},
importXlsx(){
let self = this;
var excelIO = new ExcelIO.IO();
console.log(excelIO);
const excelFile = document.getElementById("fileDemo").files[0];
excelIO.open(excelFile, function (json) {
let workbookObj = json;
self.spread.fromJSON(workbookObj);
}, function (e) {
alert(e.errorMessage);
});
}

 

导出PDF的注意事项

  1. 安装相同版本的 PDF包: "\@grapecity/spread-sheets-pdf"
  2. 在需要打印的页面引入该包: import "\@grapecity/spread-sheets-pdf";
  3. 引入该包需要注意引入顺序,先引入 \@grapecity/spread-sheets和 grapecity/spread-sheets-print
  4. 需引入第三方插件file-saver : import FaverSaver from 'file-saver'
  5. 如下几行代码可实现导出PDF功能

 

savePdf(){
let self = this;
let jsonString = JSON.stringify(self.spread.toJSON());
let printSpread = new GC.Spread.Sheets.Workbook();
printSpread.fromJSON(JSON.parse(jsonString));

printSpread.savePDF(function(blob) { 
// window.open(URL.createObjectURL(blob)) 
FaverSaver.saveAs(blob, 'Hello.pdf')
}, function(error) {
console.log(error);
}, {
title: 'Print',
}); 
}

SpreadJS | 下载试用

纯前端表格控件SpreadJS,可满足 .NET、Java、App 等应用程序中的 Web Excel 组件开发、数据填报、在线文档、图表公式联动、类 Excel UI 设计等业务场景,并在数据可视化、Excel 导入导出、公式引用、数据绑定、框架集成中无需大量代码开发和测试,极大降低了企业研发成本和项目交付风险。

本文转载自葡萄城

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本资源是一个基于SSM+Vue的网上招聘系统的设计与实现,该系统采用了Java代码和前端页面进行开发。源码包含了项目的基本框架、数据库表结构以及前端页面。部署说明详细指导了如何将项目部署到服务器上运行。 该网上招聘系统旨在为用户提供便捷的在线招聘服务。用户可以通过系统浏览招聘信息、发布招聘信息、搜索人才等操作,方便用户进行招聘服务的操作。同时,系统还提供了简历管理、面试安排等功能,方便企业进行简历管理和面试安排。系统主要包括以下功能: 1. 用户注册与登录:用户可以通过注册账号并登录系统,查看招聘信息、发布招聘信息、搜索人才等操作。 2. 招聘信息浏览:用户可以在线浏览招聘信息,包括职位名称、薪资待遇、工作地点等信息。 3. 招聘信息发布:用户可以发布招聘信息,包括职位名称、薪资待遇、工作地点等信息。 4. 人才搜索:用户可以通过关键字搜索人才,方便快速找到合适的人才。 5. 简历管理:企业可以查看和管理求职者的简历,包括简历下载、简历筛选等操作。 6. 面试安排:企业可以安排面试时间和地点,方便进行面试流程的管理。 7. 数据备份和恢复:系统会定期对用户数据进行备份,保证用户数据的安全性。如果出现数据丢失或损坏的情况,用户可以通过系统提供的恢复功能进行数据恢复。 8. 数据导出:用户可以将自己的数据导出ExcelPDF格式,方便用户进行打印或分享。 该网上招聘系统的架构采用SSM框架进行开发,前端使用Vue框架进行开发。数据库采用MySQL数据库,包含以下几个表: 1. user表:存储用户的基本信息,如用户名、密码、邮箱等。 2. job表:存储招聘信息的信息,包括职位编号、职位名称、薪资待遇、工作地点等。 3. resume表:存储求职者的简历信息,包括简历编号、姓名、联系方式等。 4. interview表:存储面试信息的记录,包括面试编号、面试时间、面试地点等。 5. report表:存储统计分析报表的信息,包括报表名称、报表内容等。 该网上招聘系统的部署方式较为灵活,可以根据实际情况选择不同的部署方式,如云服务器、虚拟主机等。同时,该系统的源码也比较完整,可以作为学习和参考的资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值