From b527f96daa44d3366aa65c3eb54be8194e8cfa8f Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Tue, 16 May 2017 00:58:01 +0000 Subject: [PATCH] github-52: add ExcelToHtmlConverter method that works on InputStreams. Thanks to Tony Zeng! This closes #52. https://github.com/apache/poi/pull/52 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1795256 13f79535-47bb-0310-9956-ffa450edef68 --- .../hssf/converter/ExcelToHtmlConverter.java | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java b/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java index 5019339d3..77ee49cf2 100644 --- a/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java +++ b/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java @@ -18,6 +18,7 @@ package org.apache.poi.hssf.converter; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -106,7 +107,7 @@ public class ExcelToHtmlConverter extends AbstractExcelConverter * Converts Excel file (97-2007) into HTML file. * * @param xlsFile - * file to process + * workbook file to process * @return DOM representation of result HTML * @throws IOException * @throws ParserConfigurationException @@ -114,12 +115,48 @@ public class ExcelToHtmlConverter extends AbstractExcelConverter public static Document process( File xlsFile ) throws IOException, ParserConfigurationException { final HSSFWorkbook workbook = ExcelToHtmlUtils.loadXls( xlsFile ); + try { + return ExcelToHtmlConverter.process( workbook ); + } finally { + workbook.close(); + } + } + + /** + * Converts Excel file (97-2007) into HTML file. + * + * @param xlsFile + * workbook stream to process + * @return DOM representation of result HTML + * @throws IOException + * @throws ParserConfigurationException + */ + public static Document process( InputStream xlsStream ) throws IOException, ParserConfigurationException + { + final HSSFWorkbook workbook = new HSSFWorkbook( xlsStream ); + try { + return ExcelToHtmlConverter.process( workbook ); + } finally { + workbook.close(); + } + } + + /** + * Converts Excel file (97-2007) into HTML file. + * + * @param xlsFile + * workbook instance to process + * @return DOM representation of result HTML + * @throws IOException + * @throws ParserConfigurationException + */ + public static Document process( HSSFWorkbook workbook ) throws IOException, ParserConfigurationException + { ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter( XMLHelper.getDocumentBuilderFactory().newDocumentBuilder() .newDocument() ); excelToHtmlConverter.processWorkbook( workbook ); Document doc = excelToHtmlConverter.getDocument(); - workbook.close(); return doc; }