栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

基于Go的WebAssembly实现excel导出和读取

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Go的WebAssembly实现excel导出和读取

        一个后台应用往往在不同表单都要实现数据导出或导入,一般的做法封装一个通用方法或者工具包给统一调用,从而避免重复的开发。但这有以下两个缺点。

一、不能跨语言;

二、可能不兼容版本低的项目。

开发环境

-------------------------------------------------------------------

Go 1.15版本或以上

excelize v2.4.0

        使用WebAssembly(简称wasm)技术就可以规避上述两个问题,现在可以编译出wasm文件有C、C++、Rust和Go,在这选择Go,因为Go下有一个很好用,文档很详细的第三方库excelize。

       实现excel导出有两核心要点。

一、对excelize进行二次封装再编译成wasm文件;

二、JS实现文件下载,由客户端(浏览器)生成excel文件,再由客户端触发下载事件,此过程不和服务器不产生任何交互。

 

        实现excel读取要简单很多在些就不赘述了。

        

        文章底下附上工具的源码和示例,为了避免前端开发人员的使用的不友好只对excelize简单的封装,所以不能实现复杂的excel表格的生成。

PS:示例要放在web容器访问(如:nginx),不然因为浏览的安全机制导致wasm文件不可用。

        示例里的webtool.js实现了输出流的创建、下载事件的触发和读取excel文件转base64。

源码和示例

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906622.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号