org.apache.poi.hssf.converter
Class ExcelToHtmlConverter

java.lang.Object
  extended by org.apache.poi.hssf.converter.ExcelToHtmlConverter

public class ExcelToHtmlConverter
extends java.lang.Object

Converts xls files (97-2007) to HTML file.

Author:
Sergey Vladimirov (vlsergey {at} gmail {dot} com)

Constructor Summary
ExcelToHtmlConverter(org.w3c.dom.Document doc)
           
 
Method Summary
protected  java.lang.String buildStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
           
protected  java.lang.String getColumnName(int columnIndex)
          Generates name for output as column header in case isOutputColumnHeaders() == true
protected static int getColumnWidth(HSSFSheet sheet, int columnIndex)
           
 org.w3c.dom.Document getDocument()
           
protected  java.lang.String getStyleClassName(HSSFWorkbook workbook, HSSFCellStyle cellStyle)
           
 boolean isOutputColumnHeaders()
           
 boolean isOutputHiddenColumns()
           
 boolean isOutputHiddenRows()
           
 boolean isOutputLeadingSpacesAsNonBreaking()
           
 boolean isOutputRowNumbers()
           
protected  boolean isTextEmpty(HSSFCell cell)
           
 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 setOutputColumnHeaders(boolean outputColumnHeaders)
           
 void setOutputHiddenColumns(boolean outputZeroWidthColumns)
           
 void setOutputHiddenRows(boolean outputZeroHeightRows)
           
 void setOutputLeadingSpacesAsNonBreaking(boolean outputPrePostSpacesAsNonBreaking)
           
 void setOutputRowNumbers(boolean outputRowNumbers)
           
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExcelToHtmlConverter

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

getColumnWidth

protected static int getColumnWidth(HSSFSheet sheet,
                                    int columnIndex)

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)

getColumnName

protected java.lang.String getColumnName(int columnIndex)
Generates name for output as column header in case isOutputColumnHeaders() == true

Parameters:
columnIndex - 0-based column index

getDocument

public org.w3c.dom.Document getDocument()

getStyleClassName

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

isOutputColumnHeaders

public boolean isOutputColumnHeaders()

isOutputHiddenColumns

public boolean isOutputHiddenColumns()

isOutputHiddenRows

public boolean isOutputHiddenRows()

isOutputLeadingSpacesAsNonBreaking

public boolean isOutputLeadingSpacesAsNonBreaking()

isOutputRowNumbers

public boolean isOutputRowNumbers()

isTextEmpty

protected boolean isTextEmpty(HSSFCell cell)

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 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)

setOutputColumnHeaders

public void setOutputColumnHeaders(boolean outputColumnHeaders)

setOutputHiddenColumns

public void setOutputHiddenColumns(boolean outputZeroWidthColumns)

setOutputHiddenRows

public void setOutputHiddenRows(boolean outputZeroHeightRows)

setOutputLeadingSpacesAsNonBreaking

public void setOutputLeadingSpacesAsNonBreaking(boolean outputPrePostSpacesAsNonBreaking)

setOutputRowNumbers

public void setOutputRowNumbers(boolean outputRowNumbers)

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 2011 The Apache Software Foundation or its licensors, as applicable.