org.apache.poi.hssf.converter
Class ExcelToHtmlConverter

java.lang.Object
  extended by org.apache.poi.hssf.converter.AbstractExcelConverter
      extended by 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)

Field Summary
 
Fields inherited from class org.apache.poi.hssf.converter.AbstractExcelConverter
_formatter
 
Constructor Summary
ExcelToHtmlConverter(org.w3c.dom.Document doc)
           
ExcelToHtmlConverter(HtmlDocumentFacade htmlDocumentFacade)
           
 
Method Summary
protected  java.lang.String buildStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
           
 java.lang.String getCssClassPrefixCell()
           
 java.lang.String getCssClassPrefixDiv()
           
 java.lang.String getCssClassPrefixRow()
           
 java.lang.String getCssClassPrefixTable()
           
 org.w3c.dom.Document getDocument()
           
protected  java.lang.String getStyleClassName(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
           
 boolean isUseDivsToSpan()
           
static void main(java.lang.String[] args)
          Java main() interface to interact with ExcelToHtmlConverter
static org.w3c.dom.Document process(java.io.File xlsFile)
          Converts Excel file (97-2007) into HTML file.
protected  boolean processCell(HSSFCell cell, org.w3c.dom.Element tableCellElement, int normalWidthPx, int maxSpannedWidthPx, float normalHeightPt)
           
protected  void processColumnHeaders(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)
           
protected  void processColumnWidths(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)
          Creates COLGROUP element with width specified for all columns.
protected  void processDocumentInformation(SummaryInformation summaryInformation)
           
protected  int processRow(CellRangeAddress[][] mergedRanges, HSSFRow row, org.w3c.dom.Element tableRowElement)
           
protected  void processRowNumber(HSSFRow row, org.w3c.dom.Element tableRowNumberCellElement)
           
protected  void processSheet(HSSFSheet sheet)
           
protected  void processSheetHeader(org.w3c.dom.Element htmlBody, HSSFSheet sheet)
           
 void processWorkbook(HSSFWorkbook workbook)
           
 void setCssClassPrefixCell(java.lang.String cssClassPrefixCell)
           
 void setCssClassPrefixDiv(java.lang.String cssClassPrefixDiv)
           
 void setCssClassPrefixRow(java.lang.String cssClassPrefixRow)
           
 void setCssClassPrefixTable(java.lang.String cssClassPrefixTable)
           
 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).
 
Methods inherited from class org.apache.poi.hssf.converter.AbstractExcelConverter
getColumnName, getColumnWidth, getDefaultColumnWidth, getFontReplacer, getRowName, isOutputColumnHeaders, isOutputHiddenColumns, isOutputHiddenRows, isOutputLeadingSpacesAsNonBreaking, isOutputRowNumbers, isTextEmpty, setFontReplacer, setOutputColumnHeaders, setOutputHiddenColumns, setOutputHiddenRows, setOutputLeadingSpacesAsNonBreaking, setOutputRowNumbers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExcelToHtmlConverter

public ExcelToHtmlConverter(org.w3c.dom.Document doc)

ExcelToHtmlConverter

public ExcelToHtmlConverter(HtmlDocumentFacade htmlDocumentFacade)
Method Detail

main

public static void main(java.lang.String[] args)
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


process

public static org.w3c.dom.Document process(java.io.File xlsFile)
                                    throws java.lang.Exception
Converts Excel file (97-2007) into HTML file.

Parameters:
xlsFile - file to process
Returns:
DOM representation of result HTML
Throws:
java.lang.Exception

buildStyle

protected java.lang.String buildStyle(HSSFWorkbook workbook,
                                      HSSFCellStyle cellStyle)

getCssClassPrefixCell

public java.lang.String getCssClassPrefixCell()

getCssClassPrefixDiv

public java.lang.String getCssClassPrefixDiv()

getCssClassPrefixRow

public java.lang.String getCssClassPrefixRow()

getCssClassPrefixTable

public java.lang.String getCssClassPrefixTable()

getDocument

public org.w3c.dom.Document getDocument()
Specified by:
getDocument in class AbstractExcelConverter

getStyleClassName

protected java.lang.String getStyleClassName(HSSFWorkbook workbook,
                                             HSSFCellStyle cellStyle)

isUseDivsToSpan

public boolean isUseDivsToSpan()

processCell

protected boolean processCell(HSSFCell cell,
                              org.w3c.dom.Element tableCellElement,
                              int normalWidthPx,
                              int maxSpannedWidthPx,
                              float normalHeightPt)

processColumnHeaders

protected void processColumnHeaders(HSSFSheet sheet,
                                    int maxSheetColumns,
                                    org.w3c.dom.Element table)

processColumnWidths

protected void processColumnWidths(HSSFSheet sheet,
                                   int maxSheetColumns,
                                   org.w3c.dom.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,
                         org.w3c.dom.Element tableRowElement)
Returns:
maximum 1-base index of column that were rendered, zero if none

processRowNumber

protected void processRowNumber(HSSFRow row,
                                org.w3c.dom.Element tableRowNumberCellElement)

processSheet

protected void processSheet(HSSFSheet sheet)

processSheetHeader

protected void processSheetHeader(org.w3c.dom.Element htmlBody,
                                  HSSFSheet sheet)

processWorkbook

public void processWorkbook(HSSFWorkbook workbook)

setCssClassPrefixCell

public void setCssClassPrefixCell(java.lang.String cssClassPrefixCell)

setCssClassPrefixDiv

public void setCssClassPrefixDiv(java.lang.String cssClassPrefixDiv)

setCssClassPrefixRow

public void setCssClassPrefixRow(java.lang.String cssClassPrefixRow)

setCssClassPrefixTable

public void setCssClassPrefixTable(java.lang.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



Copyright 2012 The Apache Software Foundation or its licensors, as applicable.