Class ExcelToHtmlConverter

java.lang.Object
org.apache.poi.hssf.converter.AbstractExcelConverter
org.apache.poi.hssf.converter.ExcelToHtmlConverter

@Beta public class ExcelToHtmlConverter extends AbstractExcelConverter
Converts xls files (97-2007) to HTML file.
Author:
Sergey Vladimirov (vlsergey {at} gmail {dot} com)
  • Constructor Details

    • ExcelToHtmlConverter

      public ExcelToHtmlConverter(Document doc)
    • ExcelToHtmlConverter

      public ExcelToHtmlConverter(HtmlDocumentFacade htmlDocumentFacade)
  • Method Details

    • main

      public static void main(String[] args) throws Exception
      Java main() interface to interact with ExcelToHtmlConverter

      Usage: ExcelToHtmlConverter infile outfile

      Where infile is an input .xls file ( Word 97-2007) which will be rendered as HTML into outfile
      Throws:
      Exception
    • process

      public static Document process(File xlsFile) throws IOException, ParserConfigurationException
      Converts Excel file (97-2007) into HTML file.
      Parameters:
      xlsFile - workbook file to process
      Returns:
      DOM representation of result HTML
      Throws:
      IOException - If an error occurs reading or writing files
      ParserConfigurationException - If configuration is incorrect
    • process

      public static Document process(InputStream xlsStream) throws IOException, ParserConfigurationException
      Converts Excel file (97-2007) into HTML file.
      Parameters:
      xlsStream - workbook stream to process
      Returns:
      DOM representation of result HTML
      Throws:
      IOException - If an error occurs reading or writing files
      ParserConfigurationException - If configuration is incorrect
    • process

      public static Document process(HSSFWorkbook workbook) throws IOException, ParserConfigurationException
      Converts Excel file (97-2007) into HTML file.
      Parameters:
      workbook - workbook instance to process
      Returns:
      DOM representation of result HTML
      Throws:
      IOException - If an error occurs reading or writing files
      ParserConfigurationException - If configuration is incorrect
    • buildStyle

      protected String buildStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
    • getCssClassPrefixCell

      public String getCssClassPrefixCell()
    • getCssClassPrefixDiv

      public String getCssClassPrefixDiv()
    • getCssClassPrefixRow

      public String getCssClassPrefixRow()
    • getCssClassPrefixTable

      public String getCssClassPrefixTable()
    • getDocument

      public Document getDocument()
      Specified by:
      getDocument in class AbstractExcelConverter
    • getStyleClassName

      protected String getStyleClassName(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
    • isUseDivsToSpan

      public boolean isUseDivsToSpan()
    • processCell

      protected boolean processCell(HSSFCell cell, Element tableCellElement, int normalWidthPx, int maxSpannedWidthPx, float normalHeightPt)
    • processColumnHeaders

      protected void processColumnHeaders(HSSFSheet sheet, int maxSheetColumns, Element table)
    • processColumnWidths

      protected void processColumnWidths(HSSFSheet sheet, int maxSheetColumns, Element table)
      Creates COLGROUP element with width specified for all columns. (Except first if AbstractExcelConverter.isOutputRowNumbers()==true)
    • processDocumentInformation

      protected void processDocumentInformation(SummaryInformation summaryInformation)
    • processRow

      protected int processRow(CellRangeAddress[][] mergedRanges, HSSFRow row, Element tableRowElement)
      Returns:
      maximum 1-base index of column that were rendered, zero if none
    • processRowNumber

      protected void processRowNumber(HSSFRow row, Element tableRowNumberCellElement)
    • processSheet

      protected void processSheet(HSSFSheet sheet)
    • processSheetHeader

      protected void processSheetHeader(Element htmlBody, HSSFSheet sheet)
    • processWorkbook

      public void processWorkbook(HSSFWorkbook workbook)
    • setCssClassPrefixCell

      public void setCssClassPrefixCell(String cssClassPrefixCell)
    • setCssClassPrefixDiv

      public void setCssClassPrefixDiv(String cssClassPrefixDiv)
    • setCssClassPrefixRow

      public void setCssClassPrefixRow(String cssClassPrefixRow)
    • setCssClassPrefixTable

      public void setCssClassPrefixTable(String cssClassPrefixTable)
    • setUseDivsToSpan

      public void setUseDivsToSpan(boolean useDivsToSpan)
      Allows converter to wrap content into two additional DIVs with tricky styles, so it will wrap across empty cells (like in Excel).

      Warning: after enabling this mode do not serialize result HTML with INDENT=YES option, because line breaks will make additional (unwanted) changes