在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”如果e