1. 程式人生 > >利用POI將Excel文件轉換為Html

利用POI將Excel文件轉換為Html

        excel文件轉換為html其實和word轉html相類似,優點也很明顯。請參考 word轉html

public static void convertExcel2Html(String excelFilePath,String htmlFilePath)
	throws IOException,ParserConfigurationException,TransformerException
	{
		File excelFile = new File(excelFilePath);
		File htmlFile = new File(htmlFilePath);
		File htmlFileParent = new File(htmlFile.getParent());
		InputStream is = null;
		OutputStream out = null;
		StringWriter writer = null;
		try{
			if(excelFile.exists()){
				if(!htmlFileParent.exists()){
					htmlFileParent.mkdirs();
				}
				is = new FileInputStream(excelFile);
				HSSFWorkbook workBook = new HSSFWorkbook(is);
				ExcelToHtmlConverter converter = new ExcelToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
				
				converter.processWorkbook(workBook);
				
				writer = new StringWriter();
				Transformer serializer = TransformerFactory.newInstance().newTransformer();
				serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
				serializer.setOutputProperty(OutputKeys.INDENT, "yes");
				serializer.setOutputProperty(OutputKeys.METHOD, "html");
				serializer.transform(
						new DOMSource(converter.getDocument()),
						new StreamResult(writer) );
				out = new FileOutputStream(htmlFile);
				out.write(writer.toString().getBytes("UTF-8"));
				out.flush();
				out.close();
				writer.close();
			}
		}finally{
			try{
				if(is != null){
					is.close();
				}
				if(out != null){
					out.close();
				}
				if(writer != null){
					writer.close();
				}
			}catch(IOException e){
				e.printStackTrace();
			}
		}
	}

    如上方法有個缺點就是無法顯示圖片。