美文网首页
在前端生成excel功能对比和选择

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

作者: 向布谷鸟说早安 | 来源:发表于2018-10-09 21:50 被阅读264次

    目标:

    提供一组数据(包括图片),要能在前端或者用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的转换

    相关文章

      网友评论

          本文标题:在前端生成excel功能对比和选择

          本文链接:https://www.haomeiwen.com/subject/zyxuaftx.html