轉帖|使用教程|編輯:龔雪|2020-11-13 13:18:01.040|閱讀 475 次
概述:本文將為大家介紹SpreadJS在Vue框架下如何實現導入導出Excel、PDF,有興趣的小伙伴可以下載體驗哦!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
項目需求:開發一套基于Vue框架的工程檔案管理系統,用于工程項目資料的填寫、編輯和歸檔,經調研需支持如下功能:
經過技術選型,項目組一致決定通過表格組件來實現。以下是實現Excel報表的導入導出、PDF導出、打印表格的一些思路,供大家參考:
環境介紹
初始化Vue項目
這里,可以參考這篇技術博客:
項目運行效果:
如下是本地的一個Excel文件:
 
 
通過SpreadJS,導入到項目中的效果:
 
 
我的項目中應用了SpreadJS V12.2.5的版本(目前官網SpreadJS的最新版本是V13),其中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報表
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的注意事項
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',
}); 
}
示例代碼下載
大家可下載下方的示例代碼,實現導出PDF、導入導出Excel功能。
純前端表格控件SpreadJS,可滿足 .NET、Java、App 等應用程序中的 Web Excel 組件開發、數據填報、在線文檔、圖表公式聯動、類 Excel UI 設計等業務場景,并在數據可視化、Excel 導入導出、公式引用、數據綁定、框架集成中無需大量代碼開發和測試,極大降低了企業研發成本和項目交付風險。
本文轉載自
購正版SpreadJS報表控件授權限時優惠!最高立減萬元!點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自: