在前端生成excel功能对比和选择

目标:

提供一组数据(包括图片),要能在前端或者用node生成一个excel表格。

解决方案:

A:js-xlsx

下载量最多,更新最频繁,但是不支持图片导入。

介绍:https://www.npmjs.com/package/xlsxhttps://segmentfault.com/a/1190000011057149

源码:https://github.com/tealeg/xlsx

相关教程:https://www.jianshu.com/p/74d405940305

B:ActiveXObject

只支持IE。

ExcelJS

只能用在node环境中。

经过调研发现:前端的处理能力有限,最好还是通过node来调用,在后端操作excel。只能操作csv和xlsx。

node操作excel的库目前这个库下载量最多,更新最频繁。

介绍:https://www.npmjs.com/package/exceljs#images

源码:https://github.com/guyonroche/exceljs#readme

D:其它框架

1.wijmo:

收费

介绍:https://www.cnblogs.com/bubugao/p/js4.html

2.spreadjs:

收费,主要功能是把excel嵌入到页面里,和目前的功能不匹配

介绍:https://www.grapecity.com.cn/developer/spreadjs

3.excel4node:

Excel的node小型框架,使用没有ExcelJs广泛,但是功能没有ExcelJs强大。

介绍:https://www.npmjs.com/package/excel4node

E:不使用框架,纯前端实现

Excel表格最终是xls(实际上是html table写成xls的格式)格式,可以实现图片的导入和样式的操作,但是图片的导入方式有本地图片资源的引入和直接赋值网站链接。

这两种图片导入方式都进行了测试,发现只有在启用编辑的时候图片才可以显示出来,否则显示不出来。Excel不信任图片的来源。

参考案例:https://blog.csdn.net/xiaoxiaojie12321/article/details/81780900

总结

最终打算采用ExcelJS,把数据发到node服务器,在node服务器端生成Excel表格,返回给前端使用。相关代码链接:https://github.com/wangyiman/handle_office_service

问题

node是在后端申请了一个虚拟机器,所以要保证所用到的框架不能对windows的excel产生依赖,万一出现了依赖,很可能跨平台就不支持了。

目前调研结果是excel4node可以跨平台,但是ExcelJS不能保证是否可以支持跨平台。

相关链接:

base64的转换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,848评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,149评论 2 59
  • 首先 git checkout master 然后 git merge my-temporary-work 即:g...
    天青色等烟雨1028阅读 200评论 0 0
  • 1、装出来的清高,装出来的不屑,这一切都是幼稚的体现。 2、有什么东西急于分享给别人的急躁,都是不成熟的表现。 3...
    Joan馒头阅读 216评论 0 0
  • 今天很奇妙!谢谢宇宙让我过得如此惬意、充实、怡然自得。 中午享用了美味鸡汤面,真好吃,吃完就到对面的西村咖啡店,...
    猫公主喵阅读 119评论 0 1