net.sf.jasperreports.engine.export
Class JExcelApiMetadataExporter

java.lang.Object
  extended by net.sf.jasperreports.engine.JRAbstractExporter
      extended by net.sf.jasperreports.engine.export.JRXlsAbstractExporter
          extended by net.sf.jasperreports.engine.export.JRXlsAbstractMetadataExporter
              extended by net.sf.jasperreports.engine.export.JExcelApiMetadataExporter
All Implemented Interfaces:
JRExporter

public class JExcelApiMetadataExporter
extends JRXlsAbstractMetadataExporter

Version:
$Id: JExcelApiMetadataExporter.java 5362 2012-05-10 10:42:12Z shertage $
Author:
sanda zaharia (shertage@users.sourceforge.net)

Nested Class Summary
protected  class JExcelApiMetadataExporter.BoxStyle
           
protected  class JExcelApiMetadataExporter.CellTextValueHandler
           
protected  class JExcelApiMetadataExporter.ExporterContext
           
protected  class JExcelApiMetadataExporter.FormulaTextValueHandler
           
protected  class JExcelApiMetadataExporter.StyleInfo
           
 
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
JRXlsAbstractExporter.TextAlignHolder
 
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.JRAbstractExporter
JRAbstractExporter.BaseExporterContext, JRAbstractExporter.ParameterOverriddenResolver, JRAbstractExporter.ParameterOverrideResolver, JRAbstractExporter.ParameterResolver
 
Field Summary
protected static jxl.format.Colour BLACK
           
protected  boolean complexFormat
           
protected static java.lang.String EMPTY_SHEET_NAME
           
protected  JExcelApiExporterContext exporterContext
           
static java.lang.String JXL_EXPORTER_KEY
          The exporter key, as used in GenericElementHandlerEnviroment.getHandler(net.sf.jasperreports.engine.JRGenericElementType, String).
protected  ExporterNature nature
           
protected  java.lang.String password
           
static java.lang.String PROPERTY_COMPLEX_FORMAT
          Boolean property specifying whether the cell format pattern is user-defined.
static java.lang.String PROPERTY_USE_TEMP_FILE
          Boolean property enabling the JExcelApiMetadataExporter to use temporary files when creating large documents.
protected  java.util.Map<jxl.format.Colour,jxl.format.RGB> usedColours
           
protected  boolean useTempFile
           
protected static jxl.format.Colour WHITE
           
protected  java.util.Map<java.awt.Color,jxl.format.Colour> workbookColours
           
 
Fields inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractMetadataExporter
columnNames, columnNamesMap, rowIndex, writeHeader
 
Fields inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
autoFilterEnd, autoFilterStart, cellHidden, cellLocked, columnWidthRatio, createCustomPalette, defaultFont, documentFirstPageNumber, documentPageScale, firstPageNotSet, formatPatternsMap, gridColumnFreezeIndex, gridRowFreezeIndex, ignoreAnchors, isCollapseRowSpan, isDetectCellType, isFontSizeFixEnabled, isFreezeColumnEdge, isFreezeRowEdge, isIgnoreCellBackground, isIgnoreCellBorder, isIgnoreGraphics, isIgnorePageMargins, isImageBorderFixEnabled, isOnePagePerSheet, isRemoveEmptySpaceBetweenColumns, isRemoveEmptySpaceBetweenRows, isWhitePageBackground, keepTemplateSheets, loadedFonts, maxColumnFreezeIndex, maxRowFreezeIndex, maxRowsPerSheet, pageIndex, progressMonitor, PROPERTY_AUTO_FILTER, PROPERTY_AUTO_FIT_COLUMN, PROPERTY_AUTO_FIT_ROW, PROPERTY_CELL_FORMULA, PROPERTY_CELL_HIDDEN, PROPERTY_CELL_LOCKED, PROPERTY_CELL_PATTERN, PROPERTY_COLUMN_WIDTH, PROPERTY_COLUMN_WIDTH_RATIO, PROPERTY_FIRST_PAGE_NUMBER, PROPERTY_FIT_HEIGHT, PROPERTY_FIT_WIDTH, PROPERTY_FREEZE_COLUMN, PROPERTY_FREEZE_COLUMN_EDGE, PROPERTY_FREEZE_ROW, PROPERTY_FREEZE_ROW_EDGE, PROPERTY_IGNORE_ANCHORS, PROPERTY_PAGE_SCALE, PROPERTY_ROW_OUTLINE_LEVEL_PREFIX, PROPERTY_SHEET_DIRECTION, PROPERTY_SHEET_FOOTER_CENTER, PROPERTY_SHEET_FOOTER_LEFT, PROPERTY_SHEET_FOOTER_RIGHT, PROPERTY_SHEET_HEADER_CENTER, PROPERTY_SHEET_HEADER_LEFT, PROPERTY_SHEET_HEADER_RIGHT, PROPERTY_USE_TIMEZONE, PROPERTY_WORKBOOK_TEMPLATE, PROPERTY_WORKBOOK_TEMPLATE_KEEP_SHEETS, PROPERTY_WRAP_TEXT, reportIndex, sheetDirection, sheetFirstPageNumber, sheetFooterCenter, sheetFooterLeft, sheetFooterRight, sheetHeaderCenter, sheetHeaderLeft, sheetHeaderRight, sheetIndex, sheetNames, sheetNamesIndex, sheetNamesMap, sheetPageScale, workbookTemplate, wrapText, XLS_EXPORTER_PROPERTIES_PREFIX
 
Fields inherited from class net.sf.jasperreports.engine.JRAbstractExporter
dateFormatCache, endPageIndex, filter, fontMap, globalOffsetX, globalOffsetY, hyperlinkProducerFactory, isModeBatch, jasperPrint, jasperPrintList, jasperReportsContext, numberFormatCache, parameters, PROPERTY_DEFAULT_FILTER_FACTORY, PROPERTY_SUFFIX_DEFAULT_FILTER_FACTORY, startPageIndex
 
Constructor Summary
JExcelApiMetadataExporter()
           
JExcelApiMetadataExporter(JasperReportsContext jasperReportsContext)
           
 
Method Summary
protected  void addBlankCell(jxl.write.WritableCellFormat baseStyleFormat, java.util.Map<java.lang.String,java.lang.Object> cellValueMap, java.lang.String currentColumnName)
           
protected  void addBlankElement(jxl.write.WritableCellFormat baseCellFormat, boolean repeatValue, java.lang.String currentColumnName)
           
protected  void addCell(JRPrintText text, java.lang.String textStr, JExcelApiMetadataExporter.StyleInfo baseStyle, java.util.Map<java.lang.String,java.lang.Object> cellValueMap, java.lang.String currentColumnName)
           
protected  void addTextElement(JRPrintText textElement, java.lang.String textStr, JExcelApiMetadataExporter.StyleInfo baseStyle, boolean repeatValue, java.lang.String currentColumnName)
           
protected  void closeWorkbook(java.io.OutputStream os)
           
protected  void createSheet(java.lang.String name)
           
protected  jxl.format.Colour determineWorkbookColour(java.awt.Color awtColor)
           
protected  void exportFrame(JRPrintFrame frame)
           
protected  void exportGenericElement(JRGenericPrintElement element)
           
 void exportImage(JRPrintImage element)
           
protected  void exportLine(JRPrintLine line)
           
protected  void exportRectangle(JRPrintGraphicElement element)
           
protected  void exportText(JRPrintText textElement)
           
protected static jxl.format.BorderLineStyle getBorderLineStyle(JRPen pen)
           
protected  jxl.write.DateFormat getDateFormat(java.lang.String convertedPattern)
           
protected  jxl.write.biff.CellValue getDetectedCellValue(int x, int y, JRPrintText textElement, TextValue textValue, JExcelApiMetadataExporter.StyleInfo baseStyle, boolean complexFormat)
           
protected  java.lang.String getExporterKey()
           
protected  jxl.write.biff.CellValue getFormulaCellValue(int x, int y, JRPrintText textElement, TextValue textValue, java.lang.String formula, JExcelApiMetadataExporter.StyleInfo baseStyle, boolean complexFormat)
           
protected  jxl.write.biff.CellValue getLabelCell(int x, int y, java.lang.String textStr, JExcelApiMetadataExporter.StyleInfo baseStyle)
           
protected  jxl.write.WritableCellFormat getLoadedCellStyle(JExcelApiMetadataExporter.StyleInfo styleKey)
           
protected  ExporterNature getNature()
           
protected static jxl.format.Colour getNearestColour(java.awt.Color awtColor)
           
protected  jxl.write.NumberFormat getNumberFormat(java.lang.String convertedPattern, boolean isComplexFormat)
           
static JRXlsAbstractExporter.TextAlignHolder getTextAlignHolder(JRPrintText textElement)
           
protected  jxl.format.Colour getWorkbookColour(java.awt.Color awtColor)
           
protected  jxl.format.Colour getWorkbookColour(java.awt.Color awtColor, boolean isBackcolor)
           
protected  void initCustomPalette()
           
protected  boolean isComplexFormat(JRPrintElement element)
           
protected  void openWorkbook(java.io.OutputStream os)
           
protected  void removeColumn(int col)
           
protected static int rgbDistance(java.awt.Color awtColor, jxl.format.RGB rgb)
           
protected  void setAutoFilter(java.lang.String autoFilterRange)
           
protected  void setBackground()
           
protected  void setColourUsed(jxl.format.Colour colour)
           
protected  void setColourUsed(jxl.format.Colour colour, java.awt.Color reportColour)
           
protected  void setColumnName(java.lang.String currentColumnName)
           
protected  void setColumnWidth(int col, int width, boolean autoFit)
           
protected  void setFreezePane(int rowIndex, int colIndex, boolean isRowEdge, boolean isColumnEdge)
          Creates a freeze pane for the current sheet.
protected  void setParameters()
           
protected  void setRowHeight(int rowIndex, int lastRowHeight, Cut yCut, XlsRowLevelInfo levelInfo)
           
protected  void setRowLevels(XlsRowLevelInfo levelInfo, java.lang.String level)
           
protected  void setScale(java.lang.Integer scale)
           
protected  void setSheetName(java.lang.String sheetName)
           
protected  void updateColumn(int col, boolean autoFit)
           
protected  void writeCurrentRow(java.util.Map<java.lang.String,java.lang.Object> currentRow, java.util.Map<java.lang.String,java.lang.Object> repeatedValues)
           
protected  void writeReportHeader()
          Writes the header column names
 
Methods inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractMetadataExporter
addBlankCell, addOccupiedCell, exportFrame, exportGenericElement, exportImage, exportLine, exportPage, exportRectangle, exportReportToStream, exportText, getFormula, getImageBorderCorrection, getStyledText, isCellHidden, isCellLocked, isColumnReadOnTime, isWrapText, setCell, setColumnNames, setColumnWidth, setRowHeight, setSheetNames
 
Methods inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
calculateHeightForDinAN, calculateHeightForDinBN, calculateHeightForDinCN, calculateWidthForDinAN, calculateWidthForDinBN, calculateWidthForDinCN, exportPage, exportReport, getColumnIndex, getColumnName, getConvertedPattern, getDefaultFont, getWorkbookTemplate, isIgnoreAnchors, isValidScale, isWorkbookTemplateKeepSheets, mergeAndSetRowLevels, resetAutoFilters, setColumnWidths, setExporterHints, setFreezePane, setIgnoreAnchors, setScale, setWorkbookTemplate, setWorkbookTemplateKeepSheets, translateDateValue, updateColumns
 
Methods inherited from class net.sf.jasperreports.engine.JRAbstractExporter
createFilter, defaultParseNumber, getBooleanCellValue, getBooleanParameter, getCharacterParameter, getCustomHandler, getDateCellValue, getDateFormat, getFloatParameter, getHyperlinkProducer, getIntegerParameter, getJasperReportsContext, getLocale, getNumberCellValue, getNumberFormat, getOffsetX, getOffsetY, getParameter, getParameterResolver, getParameters, getPropertiesUtil, getReportContext, getStringArrayParameter, getStringParameter, getStringParameterOrDefault, getStyledText, getTextFormatFactoryClass, getTextLocale, getTextTimeZone, getTextValue, getTextValueString, reset, resetClassLoader, resetExportContext, restoreElementOffsets, setClassLoader, setExportContext, setFontMap, setFrameElementsOffset, setHyperlinkProducerFactory, setInput, setJasperPrint, setOffset, setOffset, setOutput, setPageRange, setParameter, setParameters, setReportContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_USE_TEMP_FILE

public static final java.lang.String PROPERTY_USE_TEMP_FILE
Boolean property enabling the JExcelApiMetadataExporter to use temporary files when creating large documents.

This property is by default not set (false).

See Also:
JRPropertiesUtil, Constant Field Values

PROPERTY_COMPLEX_FORMAT

public static final java.lang.String PROPERTY_COMPLEX_FORMAT
Boolean property specifying whether the cell format pattern is user-defined. When set to true, the exporter will assume that the specified pattern is well defined. If the pattern is invalid, it won't be taken into account by the Excel file viewer.

See Also:
JRPropertiesUtil, Constant Field Values

JXL_EXPORTER_KEY

public static final java.lang.String JXL_EXPORTER_KEY
The exporter key, as used in GenericElementHandlerEnviroment.getHandler(net.sf.jasperreports.engine.JRGenericElementType, String).

See Also:
Constant Field Values

WHITE

protected static final jxl.format.Colour WHITE

BLACK

protected static final jxl.format.Colour BLACK

EMPTY_SHEET_NAME

protected static final java.lang.String EMPTY_SHEET_NAME
See Also:
Constant Field Values

workbookColours

protected java.util.Map<java.awt.Color,jxl.format.Colour> workbookColours

usedColours

protected java.util.Map<jxl.format.Colour,jxl.format.RGB> usedColours

password

protected java.lang.String password

nature

protected ExporterNature nature

useTempFile

protected boolean useTempFile

complexFormat

protected boolean complexFormat

exporterContext

protected JExcelApiExporterContext exporterContext
Constructor Detail

JExcelApiMetadataExporter

public JExcelApiMetadataExporter()
See Also:
JExcelApiMetadataExporter(JasperReportsContext)

JExcelApiMetadataExporter

public JExcelApiMetadataExporter(JasperReportsContext jasperReportsContext)
Method Detail

setParameters

protected void setParameters()
Overrides:
setParameters in class JRXlsAbstractMetadataExporter

initCustomPalette

protected void initCustomPalette()

setColourUsed

protected void setColourUsed(jxl.format.Colour colour)

setColourUsed

protected void setColourUsed(jxl.format.Colour colour,
                             java.awt.Color reportColour)

setBackground

protected void setBackground()
Specified by:
setBackground in class JRXlsAbstractExporter

openWorkbook

protected void openWorkbook(java.io.OutputStream os)
                     throws JRException
Specified by:
openWorkbook in class JRXlsAbstractMetadataExporter
Throws:
JRException

createSheet

protected void createSheet(java.lang.String name)
Specified by:
createSheet in class JRXlsAbstractMetadataExporter

closeWorkbook

protected void closeWorkbook(java.io.OutputStream os)
                      throws JRException
Specified by:
closeWorkbook in class JRXlsAbstractMetadataExporter
Throws:
JRException

setColumnWidth

protected void setColumnWidth(int col,
                              int width,
                              boolean autoFit)
Specified by:
setColumnWidth in class JRXlsAbstractMetadataExporter

updateColumn

protected void updateColumn(int col,
                            boolean autoFit)
Specified by:
updateColumn in class JRXlsAbstractExporter

setRowHeight

protected void setRowHeight(int rowIndex,
                            int lastRowHeight,
                            Cut yCut,
                            XlsRowLevelInfo levelInfo)
                     throws JRException
Specified by:
setRowHeight in class JRXlsAbstractMetadataExporter
Throws:
JRException

removeColumn

protected void removeColumn(int col)
Specified by:
removeColumn in class JRXlsAbstractMetadataExporter

addBlankCell

protected void addBlankCell(jxl.write.WritableCellFormat baseStyleFormat,
                            java.util.Map<java.lang.String,java.lang.Object> cellValueMap,
                            java.lang.String currentColumnName)
                     throws JRException
Throws:
JRException

writeCurrentRow

protected void writeCurrentRow(java.util.Map<java.lang.String,java.lang.Object> currentRow,
                               java.util.Map<java.lang.String,java.lang.Object> repeatedValues)
                        throws JRException
Specified by:
writeCurrentRow in class JRXlsAbstractMetadataExporter
Throws:
JRException

exportLine

protected void exportLine(JRPrintLine line)
                   throws JRException
Specified by:
exportLine in class JRXlsAbstractMetadataExporter
Throws:
JRException

exportRectangle

protected void exportRectangle(JRPrintGraphicElement element)
                        throws JRException
Specified by:
exportRectangle in class JRXlsAbstractMetadataExporter
Throws:
JRException

exportText

protected void exportText(JRPrintText textElement)
                   throws JRException
Specified by:
exportText in class JRXlsAbstractMetadataExporter
Throws:
JRException

addTextElement

protected void addTextElement(JRPrintText textElement,
                              java.lang.String textStr,
                              JExcelApiMetadataExporter.StyleInfo baseStyle,
                              boolean repeatValue,
                              java.lang.String currentColumnName)
                       throws JRException
Throws:
JRException

addBlankElement

protected void addBlankElement(jxl.write.WritableCellFormat baseCellFormat,
                               boolean repeatValue,
                               java.lang.String currentColumnName)
                        throws JRException
Throws:
JRException

addCell

protected void addCell(JRPrintText text,
                       java.lang.String textStr,
                       JExcelApiMetadataExporter.StyleInfo baseStyle,
                       java.util.Map<java.lang.String,java.lang.Object> cellValueMap,
                       java.lang.String currentColumnName)
                throws JRException
Throws:
JRException

getFormulaCellValue

protected jxl.write.biff.CellValue getFormulaCellValue(int x,
                                                       int y,
                                                       JRPrintText textElement,
                                                       TextValue textValue,
                                                       java.lang.String formula,
                                                       JExcelApiMetadataExporter.StyleInfo baseStyle,
                                                       boolean complexFormat)
                                                throws JRException
Throws:
JRException

getDetectedCellValue

protected jxl.write.biff.CellValue getDetectedCellValue(int x,
                                                        int y,
                                                        JRPrintText textElement,
                                                        TextValue textValue,
                                                        JExcelApiMetadataExporter.StyleInfo baseStyle,
                                                        boolean complexFormat)
                                                 throws JRException
Throws:
JRException

getNumberFormat

protected jxl.write.NumberFormat getNumberFormat(java.lang.String convertedPattern,
                                                 boolean isComplexFormat)

getDateFormat

protected jxl.write.DateFormat getDateFormat(java.lang.String convertedPattern)

getLabelCell

protected jxl.write.biff.CellValue getLabelCell(int x,
                                                int y,
                                                java.lang.String textStr,
                                                JExcelApiMetadataExporter.StyleInfo baseStyle)
                                         throws JRException
Throws:
JRException

exportImage

public void exportImage(JRPrintImage element)
                 throws JRException
Specified by:
exportImage in class JRXlsAbstractMetadataExporter
Throws:
JRException

getWorkbookColour

protected jxl.format.Colour getWorkbookColour(java.awt.Color awtColor,
                                              boolean isBackcolor)

getWorkbookColour

protected jxl.format.Colour getWorkbookColour(java.awt.Color awtColor)

determineWorkbookColour

protected jxl.format.Colour determineWorkbookColour(java.awt.Color awtColor)

getNearestColour

protected static jxl.format.Colour getNearestColour(java.awt.Color awtColor)

rgbDistance

protected static int rgbDistance(java.awt.Color awtColor,
                                 jxl.format.RGB rgb)

getLoadedCellStyle

protected jxl.write.WritableCellFormat getLoadedCellStyle(JExcelApiMetadataExporter.StyleInfo styleKey)
                                                   throws JRException
Throws:
JRException

getBorderLineStyle

protected static jxl.format.BorderLineStyle getBorderLineStyle(JRPen pen)

getTextAlignHolder

public static JRXlsAbstractExporter.TextAlignHolder getTextAlignHolder(JRPrintText textElement)

exportFrame

protected void exportFrame(JRPrintFrame frame)
                    throws JRException
Specified by:
exportFrame in class JRXlsAbstractMetadataExporter
Throws:
JRException

exportGenericElement

protected void exportGenericElement(JRGenericPrintElement element)
                             throws JRException
Specified by:
exportGenericElement in class JRXlsAbstractMetadataExporter
Throws:
JRException

getNature

protected ExporterNature getNature()
Specified by:
getNature in class JRXlsAbstractMetadataExporter

getExporterKey

protected java.lang.String getExporterKey()
Specified by:
getExporterKey in class JRAbstractExporter

isComplexFormat

protected boolean isComplexFormat(JRPrintElement element)

setColumnName

protected void setColumnName(java.lang.String currentColumnName)

writeReportHeader

protected void writeReportHeader()
                          throws JRException
Writes the header column names

Throws:
JRException

setFreezePane

protected void setFreezePane(int rowIndex,
                             int colIndex,
                             boolean isRowEdge,
                             boolean isColumnEdge)
Creates a freeze pane for the current sheet. Freeze pane row and column indexes defined at element level override indexes defined at report level. If multiple row freeze indexes are found in the same sheet, their maximum value is considered.

Specified by:
setFreezePane in class JRXlsAbstractExporter
Parameters:
rowIndex - the freeze 0-based row index
colIndex - the freeze 0-based column index
isRowEdge - specifies if the freeze row index is set at element level
isColumnEdge - specifies if the freeze column index is set at element level

setSheetName

protected void setSheetName(java.lang.String sheetName)
Specified by:
setSheetName in class JRXlsAbstractExporter

setAutoFilter

protected void setAutoFilter(java.lang.String autoFilterRange)
Specified by:
setAutoFilter in class JRXlsAbstractExporter

setRowLevels

protected void setRowLevels(XlsRowLevelInfo levelInfo,
                            java.lang.String level)
Specified by:
setRowLevels in class JRXlsAbstractExporter

setScale

protected void setScale(java.lang.Integer scale)
Specified by:
setScale in class JRXlsAbstractExporter


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com