网页实现Excel在线预览方案集合

在WEB项目中经常遇到excel文档在线预览的需求,基本的解决思路有以下几大类:excel文档转PDF、excel文档直接转html、后台读取excel数据返回给前端利用Excel效果的表格插件如(HandsonTable)将数据进行展示、部署微软Office Online服务(office web apps)实现在线预览、在线的office预览服务(如谷歌docs、微软officeapps)。

excel表格
EXCEL转PDF

excel转pdf可以通过第三方工具openoffice或者第三方类库如POI/NPOI、aspose等转换为pdf文件,然后通过pdf.js将转换完的pdf文件渲染成Canvas加载在网页上的显示。pdf.js显示pdf文件步骤:首先在页面引入pdf.js,然后PDFJS.getDocument(‘helloworld.pdf’),然后在回调函数里面设置显示的容器高度宽度等信息,另外pdf.js还支持翻页等功能。

EXCEL转HTML

excel转html可以通过第三方工具openoffice、微软office或者第三方类库如POI/NPOI、aspose.cell等转换为html文件。其中POI组件是开源免费的,Java版本叫POI,C#版本叫NPOI。但是转换的效果不是很好,有多个sheet页面的时候,POI会将所有sheet表格展示在一个网页里面,表格顶部会显示sheet名称,如果sheet很多的话页面会很长,出现滚动条页面样式不是很美观。

aspose.cell是收费组件,支持java、.net、.net core,免费使用时候转换出的html页面会有水印“Evaluation Only. Created with Aspose.Cells”如果excel存在多个sheet,aspose转换出来的网页会带选项卡,点击选项卡会展示对应的sheet页面内容,展示效果比POI转换出的html效果的好。 aspose-cells maven pom配置如下:

com.aspose

aspose-cells

8.2.1

本地部署微软Office Online Server

本地部署office online功能,需要的是2台服务器,并且服务需要安装windwos Server系统,配置比较复杂,首先安装IIS创建域,然后导入OfficeWebApps模块、创建Office Online Server、验证Office Online Server、下载并部署Wopi项目。整个配置部署完毕后便可以在线预览编辑office文档了,展示效果比转换成pdf/html的效果好太多。

在线的office预览服务

谷歌、微软都提供在线office的预览服务,微软的预览服务地址后面加参数?src=文档的URL地址,谷歌的文档服务预览地址加参数?url=文档的URL地址,URL的参数是需要预览的文件URL,这样预览效果还不错方便快捷。效果和上面的方案本地部署微软office on line服务差不多,不同的是一个是在线的,一个是本地化服务,各有利弊。

前端Excel效果的表格插件

前端JavaScript的Excel效果的表格插件,如HandsonTable,需要后台返回excel数据然后通过JS填空到表格,如果Excel包含很多合并单元格以及多个sheet页面,这样是很不方便的,效率也比不上前几种。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值