一站式解决方案:在线预览Excel文件,快速、便捷、高效的选择指南!

1,941 阅读3分钟

一、前言

前阵子接到了需求,想要在线预览 Excel 报表内容,Excel 包含了数据格式和图标等内容,为了调研这个功能,我查阅了多方资料,得出接下来介绍的几种方案。

二、各方案介绍

vue-office

这个插件是掘友前端阿林封装的一个工具。支持 word(.docx)、excel(.xlsx)、pdf 等各类型 Office 文件预览的 vue 组件集合,提供一站式 Office 文件预览方案。使用简单,直接传递需要预览的文件地址即可,但是目前暂不支持 Excel 中的图表。

预览地址:501351981.github.io/vue-office/…

luckysheet

LuckySheet 是一款纯前端类似 Excel 的在线表格。功能强大,包含大量常用电子表格功能;上手简单,只需几行代码即可;完全开源。但是不支持图表功能

预览地址:dream-num.github.io/LuckysheetD…

SpreadJS

SpreadJS 是葡萄城推出的基于 HTML5 标准的纯前端表格组件,具备高性能、跨平台、与 Excel 高度兼容的产品特性。支持各种格式和图表功能,但是需要付费授权。

预览地址:demo.grapecity.com.cn/SpreadJS/We…

收费如下:

image.png

xlsx

1. xlsx 是一款非常方便的只需要纯 JS 即可读取和导出 Excel 的工具库,功能强大,支持格式众多,支持 xls、xlsx、ods(一种 OpenOffice 专有表格文件格式)等十几种格式。读取内容后,需要自行渲染表格和图表,工作量比较大。

exceljs

1. exceljs 和 xlsx 一样都是纯 js 的 Excel 工具库,需要自行渲染表格和图表,工作量比较大。

微软 Office 在线预览

微软office在线预览。微软提供的在线预览服务,能够直接打开Office文件,只需要传递对应文件地址,但是文件地址必须外网能够访问,无法支持内网部署方案。

预览格式为:view.officeapps.live.com/op/view.asp…

OnlyOffice

OnlyOffice 是后端的方案,通过在服务器部署一套 OnlyOffice 方案,就能完美预览 Office 文件。

三、情况分析

vue-office 和 luckysheet 都能开箱即用,只需几行代码即可实现 Excel 文件预览,但是目前都不支持图表展示。xlsx 和 exceljs 都是读取 Excel 文件的工具库,读取文件内容后需要自行渲染表格样式,无法读取 Excel 文件中图表的引用范围,因此无法渲染图表数据。SpreadJS 能够正常预览 Excel 文件,但是需要付费授权使用。微软 Office 在线预览能够正常预览 Excel 文件,但是该文件需要能够外网访问,内网部署的文件不支持预览。OnlyOffice 支持所有 Office 文件预览,不过需要占用一定的服务器资源。

四、结论

对于一般的 Excel 预览,vue-office 就能满足相关需求,若需要支持图表功能的话,付费可以选择 SpreadJS,消耗一定服务器资源可以选择 OnlyOffice