java excel预览_java项目中Excel文件预览

1 packagecom.linkonworks.df.busi.utils;2

3 importjava.io.File;4 importjava.io.FileInputStream;5 importjava.io.IOException;6 importjava.io.InputStream;7 importjava.io.StringWriter;8

9 importjavax.xml.parsers.DocumentBuilderFactory;10 importjavax.xml.parsers.ParserConfigurationException;11 importjavax.xml.transform.OutputKeys;12 importjavax.xml.transform.Transformer;13 importjavax.xml.transform.TransformerException;14 importjavax.xml.transform.TransformerFactory;15 importjavax.xml.transform.dom.DOMSource;16 importjavax.xml.transform.stream.StreamResult;17

18 importorg.apache.poi.hssf.converter.ExcelToHtmlConverter;19 importorg.apache.poi.hssf.usermodel.HSSFWorkbook;20 importorg.apache.poi.openxml4j.exceptions.InvalidFormatException;21 importorg.apache.poi.xssf.usermodel.XSSFWorkbook;22

23

24 /**

25 *

26 * @ClassName: FilePreview27 *

28 *

29 * Description: Excel文件转为html元素30 *

31 *32 *@author周宣33 * @date 2015年12月21日34 */

35 public classFilePreview {36 /**

37 *

38 * Title: convertExceltoHtml39 *

40 *

41 * Description: 将2003版Excel文件转为html标签元素42 *

43 *44 *@author周宣45 *@paramexcelFile46 *@return

47 *@throwsIOException48 *@throwsParserConfigurationException49 *@throwsTransformerException50 *@throwsInvalidFormatException51 */

52 public static String convertExceltoHtml(String path) throwsIOException,ParserConfigurationException, TransformerException,InvalidFormatException {53 HSSFWorkbook workBook = null;54 String content = null;55 StringWriter writer = null;56 File excelFile = newFile(path);57 InputStream is = newFileInputStream(excelFile);;58 //判断Excel文件是2003版还是2007版

59 String suffix = path.substring(path.lastIndexOf("."));60 if(suffix.equals(".xlsx")){61 //将07版转化为03版

62 Xssf2Hssf xlsx2xls = newXssf2Hssf();63 XSSFWorkbook xSSFWorkbook = newXSSFWorkbook(is);64 workBook = newHSSFWorkbook();65 xlsx2xls.transformXSSF(xSSFWorkbook, workBook);66

67 }else{68 workBook = newHSSFWorkbook(is);69 }70 try{71 ExcelToHtmlConverter converter = newExcelToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());72 converter.setOutputColumnHeaders(false);//不显示列的表头

73 converter.setOutputRowNumbers(false);//不显示行的表头

74 converter.processWorkbook(workBook);75

76 writer = newStringWriter();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(newDOMSource(converter.getDocument()),82 newStreamResult(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 returncontent;99 }100

101

102

103 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值