java项目中Excel文件预览

  1 package com.linkonworks.df.busi.utils;
  2
  3 import java.io.File;
  4 import java.io.FileInputStream;
  5 import java.io.IOException;
  6 import java.io.InputStream;
  7 import java.io.StringWriter;
  8
  9 import javax.xml.parsers.DocumentBuilderFactory;
 10 import javax.xml.parsers.ParserConfigurationException;
 11 import javax.xml.transform.OutputKeys;
 12 import javax.xml.transform.Transformer;
 13 import javax.xml.transform.TransformerException;
 14 import javax.xml.transform.TransformerFactory;
 15 import javax.xml.transform.dom.DOMSource;
 16 import javax.xml.transform.stream.StreamResult;
 17
 18 import org.apache.poi.hssf.converter.ExcelToHtmlConverter;
 19 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 20 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 21 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 22
 23
 24 /**
 25  * <p>
 26  * @ClassName: FilePreview
 27  * </p>
 28  * <p>
 29  * Description: Excel文件转为html元素
 30  * </p>
 31  *
 32  * @author 周宣
 33  * @date 2015年12月21日
 34  */
 35 public class FilePreview {
 36     /**
 37      * <p>
 38      * Title: convertExceltoHtml
 39      * </p>
 40      * <p>
 41      * Description: 将2003版Excel文件转为html标签元素
 42      * </p>
 43      *
 44      * @author 周宣
 45      * @param excelFile
 46      * @return
 47      * @throws IOException
 48      * @throws ParserConfigurationException
 49      * @throws TransformerException
 50      * @throws InvalidFormatException
 51      */
 52     public static String convertExceltoHtml(String path) throws IOException,ParserConfigurationException, TransformerException,InvalidFormatException {
 53         HSSFWorkbook workBook = null;
 54         String content = null;
 55         StringWriter writer = null;
 56         File excelFile = new File(path);
 57         InputStream is = new FileInputStream(excelFile);;
 58         //判断Excel文件是2003版还是2007版
 59         String suffix = path.substring(path.lastIndexOf("."));
 60         if(suffix.equals(".xlsx")){
 61             //将07版转化为03版
 62             Xssf2Hssf xlsx2xls = new Xssf2Hssf();
 63             XSSFWorkbook xSSFWorkbook = new XSSFWorkbook(is);
 64             workBook = new HSSFWorkbook();
 65             xlsx2xls.transformXSSF(xSSFWorkbook, workBook);
 66
 67         }else{
 68             workBook = new HSSFWorkbook(is);
 69         }
 70         try {
 71             ExcelToHtmlConverter converter = new ExcelToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
 72             converter.setOutputColumnHeaders(false);// 不显示列的表头
 73             converter.setOutputRowNumbers(false);// 不显示行的表头
 74             converter.processWorkbook(workBook);
 75
 76             writer = new StringWriter();
 77             Transformer serializer = TransformerFactory.newInstance().newTransformer();
 78             serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
 79             serializer.setOutputProperty(OutputKeys.INDENT, "yes");
 80             serializer.setOutputProperty(OutputKeys.METHOD, "html");
 81             serializer.transform(new DOMSource(converter.getDocument()),
 82                     new StreamResult(writer));
 83
 84             content = writer.toString();
 85             writer.close();
 86         } finally {
 87             try {
 88                 if (is != null) {
 89                     is.close();
 90                 }
 91                 if (writer != null) {
 92                     writer.close();
 93                 }
 94             } catch (IOException e) {
 95                 e.printStackTrace();
 96             }
 97         }
 98         return content;
 99     }
100
101
102
103 }
时间: 2024-10-12 09:24:38

java项目中Excel文件预览的相关文章

java项目中Excel文件的导入导出

1 package poi.excel; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.lang.reflect.Field; 7 import java.lang.reflect.Method; 8 import java.util.ArrayList; 9 import java.util.List; 10 11 import

如何在HiWork中进行文件预览

周一,忙碌的一周又开始了. 今天来跟大家说说HiWork(www.hiwork.cc)中的文件预览功能 文件预览很重要很方便,在进行团队即时沟通的同时,不用下载文件就可以很方便的进行各类文件的预览.而给机器上没有安装相应软件的操作者带来更多便利. HiWork(www.hiwork.cc)为用户提供了非常完备的文件预览功能,包括txt.word.excel.ppt.pdf.rar.zip文件以及部分音频和视频文件.下面我们仅以word文档为例,说说在HiWork(www.hiwork.cc)中如

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势 D 集成安全权限框架shiro   Shiro 是一个用 Jav

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocke

 官网 http://www.fhadmin.org/A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框

Eclipse 中 Java 项目中 .settings 文件夹作用

今天工作时,因对 .settings 文件夹误操作,耗时 6 个多小时,才了解到原因就出在 .settings 文件夹.经查阅资料,对 .settings 做如下整理: 就如setting这个名字,就是存放存放各种插件的配置文件..有这些文件的约束你可以更好的利用IDE进行coding.所以呢,这些文件只是用来配置环境用的. 1. org.eclipse.jdt.core.prefs 该文件是与Compile相关的配置,一般情况下的内容如下: 可以手动修改该文件,添加一些其他的配置,然后重启Ec

.net 实现Office文件预览,word文件在线预览、excel文件在线预览、ppt文件在线预览,excel转html,office格式转换,(.NET、SQL技术交流群206656202,入群需注明来自博客园)

近日公司要搞一个日常的文档管理的东东,可以上传.下载各种文件,如果是office文件呢还必须得支持预览功能,其他的都好说但是唯独office预览功能比较麻烦,但是不能不做,废话不多说了一步步来吧.分析了下网易邮箱的文件预览功能,他用的是微软的组件,最早叫Office online,现在分开了叫Word online.Excel online ....等等,效果十分炫酷功能十分强大,但是查看了下对api的说明发现对服务器的要求比较苛刻而且配置比较复杂不太适合.然后 又看了下腾讯用的是永中第三方组件

在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,根据hbm文件自动生成pojo和数据库脚本

     首先,我一定要吐槽下,这个Ant管理部署项目的工具,以及hibernate刚刚学习,导入我这一个简单的问题整了一天多,实在效率有点低下.在这两天中,①了解了Ant,知道了在Ant中很灵活的步骤项目的情况,知道了build.xml文件的一些基本写法.②还学习了在MyEclipse这样的集成工具中完成项目部署.③以及在这两种情况中,利用hibernateTools中的hbm2java和hbm2ddl工具,根据对象关系映射文件,自动生成POJO以及SQL文件(就是数据表). 一,在web项目

在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,依据hbm文件自己主动生成pojo和数据库脚本

     首先.我一定要吐槽下,这个Ant管理部署项目的工具.以及hibernate刚刚学习,导入我这一个简单的问题整了一天多.实在效率有点低下. 在这两天中,①了解了Ant.知道了在Ant中非常灵活的步骤项目的情况,知道了build.xml文件的一些基本写法.②还学习了在MyEclipse这种集成工具中完毕项目部署. ③以及在这两种情况中.利用hibernateTools中的hbm2java和hbm2ddl工具,依据对象关系映射文件,自己主动生成POJO以及SQL文件(就是数据表). 一,在w

在 Java 项目中解压7Zip特殊压缩算法文件

1 问题描述 Java Web 后端下载了一个经特殊算法压缩的 zip 文件,因为不能采用 java 本身自带的解压方式,必须采用 7Zip 来解压.所以,提到了本文中在 java web 后端调用外部 7zip exe 来解压文件的问题. 2 主要实现 2.1 定义缓冲区类 class StreamGobbler extends Thread { InputStream is; String type; public StreamGobbler(InputStream is, String t