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 *@return47 *@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 }