Package org.apache.poi.hssf.converter
Class ExcelToFoConverter
- java.lang.Object
-
- org.apache.poi.hssf.converter.AbstractExcelConverter
-
- org.apache.poi.hssf.converter.ExcelToFoConverter
-
@Beta public class ExcelToFoConverter extends AbstractExcelConverter
Converts xls files (97-2007) to XSL FO.- Author:
- Sergey Vladimirov (vlsergey {at} gmail {dot} com)
-
-
Field Summary
-
Fields inherited from class org.apache.poi.hssf.converter.AbstractExcelConverter
_formatter
-
-
Constructor Summary
Constructors Constructor Description ExcelToFoConverter(FoDocumentFacade foDocumentFacade)ExcelToFoConverter(org.w3c.dom.Document document)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringcreatePageMaster(float tableWidthIn, java.lang.String pageMasterName)protected org.w3c.dom.DocumentgetDocument()floatgetPageMarginInches()protected booleanisEmptyStyle(CellStyle cellStyle)Returns false if cell style by itself (without text, i.e.static voidmain(java.lang.String[] args)Java main() interface to interact withExcelToFoConverterstatic org.w3c.dom.Documentprocess(java.io.File xlsFile)Converts Excel file (97-2007) into XSL FO file.protected booleanprocessCell(HSSFWorkbook workbook, HSSFCell cell, org.w3c.dom.Element tableCellElement, int normalWidthPx, int maxSpannedWidthPx, float normalHeightPt)protected voidprocessCellStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle, org.w3c.dom.Element cellTarget, org.w3c.dom.Element blockTarget)protected voidprocessCellStyleBorder(HSSFWorkbook workbook, org.w3c.dom.Element cellTarget, java.lang.String type, BorderStyle xlsBorder, short borderColor)protected voidprocessCellStyleFont(HSSFWorkbook workbook, org.w3c.dom.Element blockTarget, HSSFFont font)protected voidprocessColumnHeaders(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)protected floatprocessColumnWidths(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)Creates COLGROUP element with width specified for all columns.protected voidprocessDocumentInformation(SummaryInformation summaryInformation)protected intprocessRow(HSSFWorkbook workbook, CellRangeAddress[][] mergedRanges, HSSFRow row, org.w3c.dom.Element tableRowElement)protected org.w3c.dom.ElementprocessRowNumber(HSSFRow row)protected booleanprocessSheet(HSSFWorkbook workbook, int sheetIndex)Process single sheet (as specified by 0-based sheet index)protected floatprocessSheet(HSSFWorkbook workbook, HSSFSheet sheet, org.w3c.dom.Element flow)protected voidprocessSheetName(HSSFSheet sheet, org.w3c.dom.Element flow)voidprocessWorkbook(HSSFWorkbook workbook)voidsetPageMarginInches(float pageMarginInches)-
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
-
-
-
-
Constructor Detail
-
ExcelToFoConverter
public ExcelToFoConverter(org.w3c.dom.Document document)
-
ExcelToFoConverter
public ExcelToFoConverter(FoDocumentFacade foDocumentFacade)
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws java.lang.ExceptionJava main() interface to interact withExcelToFoConverterUsage: ExcelToHtmlConverter infile outfile
Where infile is an input .xls file ( Word 97-2007) which will be rendered as XSL FO into outfile- Throws:
java.lang.Exception
-
process
public static org.w3c.dom.Document process(java.io.File xlsFile) throws java.lang.ExceptionConverts Excel file (97-2007) into XSL FO file.- Parameters:
xlsFile- file to process- Returns:
- DOM representation of result XSL FO
- Throws:
java.lang.Exception
-
createPageMaster
protected java.lang.String createPageMaster(float tableWidthIn, java.lang.String pageMasterName)
-
getDocument
protected org.w3c.dom.Document getDocument()
- Specified by:
getDocumentin classAbstractExcelConverter
-
getPageMarginInches
public float getPageMarginInches()
-
isEmptyStyle
protected boolean isEmptyStyle(CellStyle cellStyle)
Returns false if cell style by itself (without text, i.e. borders, fill, etc.) worth a mention, true otherwise- Returns:
- false if cell style by itself (without text, i.e. borders, fill, etc.) worth a mention, true otherwise
-
processCell
protected boolean processCell(HSSFWorkbook workbook, HSSFCell cell, org.w3c.dom.Element tableCellElement, int normalWidthPx, int maxSpannedWidthPx, float normalHeightPt)
-
processCellStyle
protected void processCellStyle(HSSFWorkbook workbook, HSSFCellStyle cellStyle, org.w3c.dom.Element cellTarget, org.w3c.dom.Element blockTarget)
-
processCellStyleBorder
protected void processCellStyleBorder(HSSFWorkbook workbook, org.w3c.dom.Element cellTarget, java.lang.String type, BorderStyle xlsBorder, short borderColor)
-
processCellStyleFont
protected void processCellStyleFont(HSSFWorkbook workbook, org.w3c.dom.Element blockTarget, HSSFFont font)
-
processColumnHeaders
protected void processColumnHeaders(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)
-
processColumnWidths
protected float processColumnWidths(HSSFSheet sheet, int maxSheetColumns, org.w3c.dom.Element table)
Creates COLGROUP element with width specified for all columns. (Except first ifAbstractExcelConverter.isOutputRowNumbers()==true)- Returns:
- table width in inches
-
processDocumentInformation
protected void processDocumentInformation(SummaryInformation summaryInformation)
-
processRow
protected int processRow(HSSFWorkbook workbook, CellRangeAddress[][] mergedRanges, HSSFRow row, org.w3c.dom.Element tableRowElement)
- Returns:
- maximum 1-base index of column that were rendered, zero if none
-
processRowNumber
protected org.w3c.dom.Element processRowNumber(HSSFRow row)
-
processSheet
protected float processSheet(HSSFWorkbook workbook, HSSFSheet sheet, org.w3c.dom.Element flow)
-
processSheet
protected boolean processSheet(HSSFWorkbook workbook, int sheetIndex)
Process single sheet (as specified by 0-based sheet index)- Returns:
- true if result were added to FO document, false otherwise
-
processSheetName
protected void processSheetName(HSSFSheet sheet, org.w3c.dom.Element flow)
-
processWorkbook
public void processWorkbook(HSSFWorkbook workbook)
-
setPageMarginInches
public void setPageMarginInches(float pageMarginInches)
-
-