html实现pdf导出excel表格,一篇文章详解:Vue框架下轻松实现Excel、PDF导出
项目需求:开发一套基于Vue框架的工程档案管理系统,用于工程项目资料的填写、编辑和归档,经调研需支持如下功能:
Excel报表的导入、导出
PDF文件的导出
打印表格
经过技术选型,项目组一致决定通过表格组件SpreadJS 来实现。以下是实现Excel报表的导入导出、PDF导出、打印表格的一些思路,供大家参考:
环境介绍
后台:Spring Boot 2.x
前台:vue、vue-element、webpack、iview、Vuex.js 2.x
组件:SpreadJS v11
项目运行效果:
如下是本地的一个Excel文件:
通过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 组件
导入导出Excel报表
安装相关的资源包: "\@grapecity/spread-excelio"、 "file-saver"
在页面中引入: import ExcelIO from '\@grapecity/spread-excelio'、import FaverSaver from 'file-saver'
如下代码可实现导入导出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的注意事项
安装相同版本的 PDF包: "\@grapecity/spread-sheets-pdf"
在需要打印的页面引入该包: import "\@grapecity/spread-sheets-pdf";
引入该包需要注意引入顺序,先引入 \@grapecity/spread-sheets和 grapecity/spread-sheets-print
需引入第三方插件file-saver : import FaverSaver from 'file-saver'
如下几行代码可实现导出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,可满足 .NET、Java、App 等应用程序中的 Web Excel 组件开发、数据填报、在线文档、图表公式联动、类 Excel UI 设计等业务场景,并在数据可视化、Excel 导入导出、公式引用、数据绑定、框架集成中无需大量代码开发和测试,极大降低了企业研发成本和项目交付风险。
本文转载自葡萄城
购正版SpreadJS报表控件授权限时优惠!最高立减万元!点击了解更多优惠
标签:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com
文章转载自:葡萄城
html实现pdf导出excel表格,一篇文章详解:Vue框架下轻松实现Excel、PDF导出相关推荐
- 一篇文章详解大数据技术和应用场景
" 本文作者 陈睿 ,优知学院创始人 新技术.新趋势往往趋之若鹜却又很难说的透彻,希望这篇文章能让大家完整的理解什么是大数据:该篇包含:大数据.技术.场景应用以及大数据的岗位. 什么是大数据 ...
- 一篇文章详解BAT薪资构成、晋升体系、绩效考核
" BAT薪资.级别与晋升这一块,全国采取的都是一套体系,下面就为大家详细介绍腾讯.阿里巴巴.百度内部的薪资等级情况. 一:腾讯 薪资.级别与晋升这一块,BAT一般全国采取的都是一套体系,下 ...
- java 获取oracle表结构_Java导出oracle表结构实例详解
Java导出oracle表结构实例详解 发布于 2020-7-20| 复制链接 摘记: Java导出oracle表结构实例详解最近用到的,因为plsql是收费的,不让用,找了很多方法终于发现了这个. ...
- 一篇文章入门深度学习框架PyTorch
一篇文章入门深度学习框架PyTorch 1 Tensor(张量) 2 Variable(变量) 3 Dataset(数据集) 4 nn.Module(模组) 5 torch.optim(优化) 一阶优 ...
- matlab导入数据作图,如何将excel表格中大量数据导入matlab中并作图:excel表格数据制图软件...
是否有能替代Excel作图表的软件? 我认为数据观你可以试试,因为它提供多种可视化图表,涵盖所有excel提供的图形,您可以进行任何个性化设置. 将excel数据制作成漂亮图表的软件?做图表用什么软件 ...
- 用计算机函数查找,Excel查找函数Vlookup详解及应用示例-excel技巧-电脑技巧收藏家...
Excel查找函数Vlookup详解及应用示例 招如其名.此招用来在一个茫茫的数据源中,自动让电脑找出你要的某个数据的相关资料并填在指定的地方.也是就是,可以让电脑在一个表格或指定的一个区域中查找某一 ...
- python可以处理多大的数据_科多大数据之Python基础教程之Excel处理库openpyxl详解...
原标题:科多大数据之Python基础教程之Excel处理库openpyxl详解 科多大数据小课堂来啦~Python基础教程之Excel处理库openpyxl详解 openpyxl是一个第三方库,可以处 ...
- python的excell库_扣丁学堂Python基础教程之Excel处理库openpyxl详解
扣丁学堂Python基础教程之Excel处理库openpyxl详解 2018-05-04 09:49:49 3197浏览 openpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pipi ...
- 如何使用计算机Excel公式if,Excel条件函数If详解及应用示例-excel技巧-电脑技巧收藏家...
Excel条件函数If详解及应用示例 此招用来对某一条件执行的真假值进行判断,根据逻辑计算的真假值,返回不同结果.如果结果为真,则返回一个真,如果为假,则返回另一值,可谓左右逢源. 使用语法 IF(l ...
最新文章
- C/C++包管理工具Conan简介
- js空对象undefined
- Where we can find sharepoint user list
- 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通 电子版(pdf格式)
- php根据当前日期判断法定节假日_判断日期是否为法定节假日的API接口与示例函数...
- 【Android】 Intent应用详解
- python web框架 多线程_python 简单web框架: Bottle
- CF1375F-Integer Game【交互】
- 多项式相关操作学习笔记
- 【AI视野·今日NLP 自然语言处理论文速览 第二十一期】Fri, 24 Sep 2021
- 浏览器的全屏功能小结
- 看完这篇再不会 View 的动画框架,我跪搓衣板
- Python 字典(Dictionary) items()方法
- ASP.NET 控制页概览
- eclipse如何下载插件
- 双网络打印机虚拟服务器,在VMware Workstation 7虚拟机中使用主机打印机
- 如何申请成为企业微信,并成为第三方服务商
- vue 仿外卖app-数据mock部分
- ORACLE违反协议异常
- 社恐怎么办?这个漫画或许能治愈你
热门文章
- 如何在 Python 数据中灵活运用 Pandas 索引?
- 谁来结束 GUI 程序?| CSDN 博文精选
- 不止 RTC 技术盛会,你还应该知道的声网给开发者的福利
- 跳槽失败到月薪50K,AI工程师是这样炼成的!
- 程序员该如在低代码和无代码开发中抉择?
- 女神节 | 那些奋斗在 IT 领域的“女神”们
- 程序员如何备战全国计算机二级(Python)考试?
- PHP 7.3 比 PHP 7.0 快 22%,即将进入特性冻结阶段
- 网络编程之 字节序和深入理解bind()函数
- day10【过渡】分布式理论