Java 使用ApachePOI库将Excel电子表格转换为HTML

Java 使用ApachePOI库将Excel电子表格转换为HTML,java,excel,apache-poi,Java,Excel,Apache Poi,我试图使用ExcelToHtmlConverter类来转换HTML中的word文档,但文档不清楚 有没有人有一个关于如何加载excel文档并将其转换为html的示例程序。您看过这个吗?: /*==================================================================== Apache软件基金会(ASF)下一个或多个许可 贡献者许可协议。请参阅随附的通知文件 本作品提供了有关版权所有权的更多信息。 ASF根据Apache许可证2.0版将此文

我试图使用ExcelToHtmlConverter类来转换HTML中的word文档,但文档不清楚

有没有人有一个关于如何加载excel文档并将其转换为html的示例程序。

您看过这个吗?:

/*====================================================================
Apache软件基金会(ASF)下一个或多个许可
贡献者许可协议。请参阅随附的通知文件
本作品提供了有关版权所有权的更多信息。
ASF根据Apache许可证2.0版将此文件许可给您
(以下简称“许可证”);除非符合以下要求,否则不得使用此文件
执照。您可以通过以下方式获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,软件
根据许可证进行的分发是按“原样”进行分发的,
无任何明示或暗示的保证或条件。
请参阅许可证以了解管理权限和权限的特定语言
许可证下的限制。
==================================================================== */
包org.apache.poi.ss.examples.html;
导入java.io.BufferedReader;
导入java.io.Closeable;
导入java.io.FileInputStream;
导入java.io.FileWriter;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.PrintWriter;
导入java.util.Formatter;
导入java.util.HashMap;
导入java.util.HashSet;
导入java.util.Iterator;
导入java.util.Map;
导入java.util.Set;
导入org.apache.poi.hssf.usermodel.HSSFWorkbook;
导入org.apache.poi.openxml4j.exceptions.InvalidFormatException;
导入org.apache.poi.ss.format.CellFormat;
导入org.apache.poi.ss.format.CellFormatResult;
导入org.apache.poi.ss.usermodel.BorderStyle;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.CellStyle;
导入org.apache.poi.ss.usermodel.CellType;
导入org.apache.poi.ss.usermodel.Font;
导入org.apache.poi.ss.usermodel.HorizontalAlignment;
导入org.apache.poi.ss.usermodel.Row;
导入org.apache.poi.ss.usermodel.Sheet;
导入org.apache.poi.ss.usermodel.VerticalAlignment;
导入org.apache.poi.ss.usermodel.工作簿;
导入org.apache.poi.ss.usermodel.WorkbookFactory;
导入org.apache.poi.util.IOUtils;
导入org.apache.poi.xssf.usermodel.xssf工作簿;
/**
*此示例演示如何使用的类在HTML中显示电子表格
*电子表格显示。
*/
公共类ToHtml{
私人最终工作手册wb;
私有最终可追加输出;
私有布尔完备HTML;
专用格式化程序输出;
私有布尔边界;
私有int第一列;
私有内端列;
私人家庭佣工;
私有静态最终字符串默认值\u CLASS=“excelDefaults”;
私有静态最终字符串COL\u HEAD\u CLASS=“colHeader”;
私有静态最终字符串ROW\u HEAD\u CLASS=“rowHeader”;
私有静态最终映射HALIGN=mapFor(
HorizontalAlignment.LEFT,“LEFT”,
HorizontalAlignment.CENTER,“中心”,
HorizontalAlignment.RIGHT,“RIGHT”,
HorizontalAlignment.FILL,“左”,
HorizontalAlignment.JUSTIFY,“左”,
水平对齐.CENTER_选择“CENTER”);
私有静态最终映射VALIGN=mapFor(
垂直对齐。底部,“底部”,
垂直对齐。中心,“中间”,
垂直对齐。顶部,“顶部”);
私有静态最终贴图边框=mapFor(
BorderStyle.DASH_点,“虚线1pt”,
BorderStyle.DASH_点_点,“虚线1pt”,
BorderStyle.虚线,“虚线1pt”,
BorderStyle.dottered,“点1磅”,
BorderStyle.DOUBLE,“双3pt”,
BorderStyle.HAIR,“纯色1px”,
BorderStyle.MEDIUM,“实心2pt”,
BorderStyle.MEDIUM_破折号_点,“破折号2pt”,
BorderStyle.MEDIUM_破折号_点_点,“破折号2pt”,
BorderStyle.MEDIUM_虚线,“虚线2pt”,
BorderStyle.NONE,“NONE”,
BorderStyle.slided_-DASH_-DOT,“虚线2pt”,
BorderStyle.THICK,“实心3pt”,
BorderStyle.THIN,“虚线1pt”);
@SuppressWarnings({“unchecked”})
私有静态映射映射(对象…映射){
Map Map=newhashmap();
对于(int i=0;iHSSFWorkbook excelDoc = ExcelToHtmlUtils.loadXls(inputDocument);

ExcelToHtmlConverter converter = new ExcelToHtmlConverter(
    DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()
);

converter.processWorkbook(excelDoc);

Document htmlDoc = converter.getDocument();
ByteArrayOutputStream out = new ByteArrayOutputStream();
DOMSource domSource = new DOMSource(htmlDoc);
StreamResult streamResult = new StreamResult(out);
TransformerFactory transfFactory = TransformerFactory.newInstance();
Transformer serializer = transfFactory.newTransformer();

serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
serializer.setOutputProperty(OutputKeys.METHOD, "html");
serializer.transform(domSource, streamResult);

out.close();

String result = new String(out.toByteArray());
    /**
     * Excel to HTML
     * 
     */
    public static void excel2Html(String filename, String htmlid, String ctxPath) throws Exception{
        InputStream input=new FileInputStream(filename);
         HSSFWorkbook excelBook=new HSSFWorkbook(input);
         ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
         excelToHtmlConverter.processWorkbook(excelBook);
         List pics = excelBook.getAllPictures();
         if (pics != null) {
             for (int i = 0; i < pics.size(); i++) {
                 Picture pic = (Picture) pics.get (i);
                 try {
                     pic.writeImageContent(new FileOutputStream (ctxPath + pic.suggestFullFileName() ) );
                 } catch (FileNotFoundException e) {
                     e.printStackTrace();
                 }
             }
         }
         Document htmlDocument = excelToHtmlConverter.getDocument();
         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
         DOMSource domSource = new DOMSource (htmlDocument);
         StreamResult streamResult = new StreamResult(outStream);
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer serializer = tf.newTransformer();
         serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
         serializer.setOutputProperty(OutputKeys.INDENT, "yes");
         serializer.setOutputProperty(OutputKeys.METHOD, "html");
         serializer.transform (domSource, streamResult);
         outStream.close();

        OutputStream os = new FileOutputStream(new File(ctxPath, htmlid+".html"));
        final PrintStream printStream = new PrintStream(os);
        printStream.print(new String(outStream.toByteArray()));
        printStream.close();
    }