Class JROdsExporter
java.lang.Object
net.sf.jasperreports.engine.JRAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration,OutputStreamExporterOutput,JROdsExporterContext>
net.sf.jasperreports.engine.export.ExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration,JROdsExporterContext>
net.sf.jasperreports.engine.export.JRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration,JROdsExporterContext>
net.sf.jasperreports.engine.export.oasis.JROdsExporter
- All Implemented Interfaces:
Exporter<ExporterInput,OdsReportConfiguration, OdsExporterConfiguration, OutputStreamExporterOutput>
public class JROdsExporter
extends JRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration,JROdsExporterContext>
Exports a JasperReports document to Open Document Spreadsheet format. It has character output type
and exports the document to a grid-based layout.
The
JROdsExporter exporter
implementation produces documents that comply with the Open Document Format for
Office Applications specifications for spreadsheets. These documents use the
.ods file extension.
Because spreadsheet documents are made of sheets containing cells, this exporter is a
grid exporter, as well, therefore having the known limitations of grid exporters.
Special exporter configuration settings, that can be applied to a
JROdsExporter instance
to control its behavior, can be found in OdsReportConfiguration
and in its XlsReportConfiguration superclass.- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected classprotected classNested classes/interfaces inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
JRXlsAbstractExporter.SheetInfoNested classes/interfaces inherited from class net.sf.jasperreports.engine.export.ExcelAbstractExporter
ExcelAbstractExporter.NameScope, ExcelAbstractExporter.TextAlignHolderNested classes/interfaces inherited from class net.sf.jasperreports.engine.JRAbstractExporter
JRAbstractExporter.BaseExporterContext, JRAbstractExporter.PageRange -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected DocumentBuilderprotected static final Stringprotected StringBuilderprotected OasisZipstatic final StringThe exporter key, as used inGenericElementHandlerEnviroment.getElementHandler(JRGenericElementType, String).protected static final Stringprotected PrintPageFormatprotected intprotected booleanprotected StyleBuilderprotected StyleCacheprotected WriterHelperprotected TableBuilderprotected ExportZipEntryprotected WriterHelperprotected ExportZipEntryprotected WriterHelperFields inherited from class net.sf.jasperreports.engine.export.ExcelAbstractExporter
autoFilterEnd, autoFilterStart, collapseRowSpan, CURRENT_ROW_AUTOFIT, CURRENT_ROW_HEIGHT, DEFAULT_DEFINED_NAME_SCOPE, DEFAULT_DEFINED_NAME_SCOPE_SEPARATOR, DEFAULT_SHEET_NAME_PREFIX, defaultCellHidden, defaultCellLocked, defaultFont, defaultIgnoreHyperlink, defaultIgnoreTextFormatting, defaultImageAnchorType, defaultShrinkToFit, defaultUseTimeZone, defaultWrapText, definedNamesMap, detectCellType, EXCEPTION_MESSAGE_KEY_CANNOT_ADD_CELL, EXCEPTION_MESSAGE_KEY_CANNOT_MERGE_CELLS, EXCEPTION_MESSAGE_KEY_CELL_FORMAT_TEMPLATE_ERROR, EXCEPTION_MESSAGE_KEY_COLUMN_INDEX_BEYOND_LIMIT, EXCEPTION_MESSAGE_KEY_LOADED_FONTS_ERROR, EXCEPTION_MESSAGE_KEY_NEGATIVE_COLUMN_INDEX, EXCEPTION_MESSAGE_KEY_REPORT_GENERATION_ERROR, EXCEPTION_MESSAGE_KEY_TEMPLATE_NOT_FOUND, firstPageNotSet, formatPatternsMap, ignoreAnchors, imageBorderFixEnabled, invalidCharReplacement, keepTemplateSheets, loadedFonts, maxColumnIndex, nature, onePagePerSheet, onePagePerSheetMap, pageFormat, pageIndex, PROPERTY_AUTO_FILTER, PROPERTY_AUTO_FIT_COLUMN, PROPERTY_AUTO_FIT_ROW, PROPERTY_AVERAGE_CHAR_WIDTH_FACTOR, PROPERTY_BREAK_AFTER_ROW, PROPERTY_BREAK_BEFORE_ROW, PROPERTY_CELL_FORMULA, PROPERTY_CELL_PATTERN, PROPERTY_COLUMN_NAME, PROPERTY_COLUMN_WIDTH, PROPERTY_COLUMN_WIDTH_METADATA, PROPERTY_DATA, PROPERTY_FREEZE_COLUMN_EDGE, PROPERTY_FREEZE_ROW_EDGE, PROPERTY_IGNORE_ROW_HEIGHT, PROPERTY_REPEAT_VALUE, PROPERTY_ROW_OUTLINE_LEVEL_PREFIX, PROPERTY_SHEET_NAME, renderersCache, reportIndex, sheetIndex, sheetInfo, sheetNames, sheetNamesIndex, sheetNamesMap, sheetsBeforeCurrentReport, sheetsBeforeCurrentReportMap, workbookTemplate, XLS_EXPORTER_PROPERTIES_PREFIXFields inherited from class net.sf.jasperreports.engine.JRAbstractExporter
allSelector, crtCompositeConfiguration, crtCompositeItemConfiguration, crtItem, dateFormatCache, EXCEPTION_MESSAGE_KEY_EMPTY_INPUT_SOURCE_IN_BATCH_MODE, EXCEPTION_MESSAGE_KEY_END_PAGE_INDEX_OUT_OF_RANGE, EXCEPTION_MESSAGE_KEY_INVALID_IMAGE_NAME, EXCEPTION_MESSAGE_KEY_INVALID_ZOOM_RATIO, EXCEPTION_MESSAGE_KEY_NO_INPUT_SOURCE, EXCEPTION_MESSAGE_KEY_NO_OUTPUT_SPECIFIED, EXCEPTION_MESSAGE_KEY_OUTPUT_WRITER_ERROR, EXCEPTION_MESSAGE_KEY_PAGE_INDEX_OUT_OF_RANGE, EXCEPTION_MESSAGE_KEY_START_PAGE_INDEX_OUT_OF_RANGE, exporterConfiguration, exporterContext, exporterInput, exporterOutput, filter, fontUtil, hyperlinkProducerFactory, itemConfiguration, jasperPrint, jasperReportsContext, noBackcolorSelector, noneSelector, numberFormatCache, propertiesUtil, PROPERTY_DEFAULT_FILTER_FACTORY, PROPERTY_SUFFIX_DEFAULT_FILTER_FACTORY, rendererUtil, styledTextUtil, textValueClasses -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBlankCell(JRExporterGridCell gridCell, int colIndex, int rowIndex) protected voidaddOccupiedCell(OccupiedGridCell occupiedGridCell, int colIndex, int rowIndex) protected voidaddRowBreak(int rowIndex) protected voidprotected voidprotected voidcreateSheet(CutsInfo xCuts, JRXlsAbstractExporter.SheetInfo sheetInfo) protected voidprotected voidexportFrame(JRPrintFrame frame, JRExporterGridCell cell, int colIndex, int rowIndex) protected voidexportGenericElement(JRGenericPrintElement element, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) voidexportImage(JRPrintImage image, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) protected voidexportLine(JRPrintLine line, JRExporterGridCell gridCell, int colIndex, int rowIndex) protected intexportPage(JRPrintPage page, CutsInfo xCuts, int startRow, String defaultSheetName) protected voidexportRectangle(JRPrintGraphicElement rectangle, JRExporterGridCell gridCell, int colIndex, int rowIndex) voidexportText(JRPrintText text, JRExporterGridCell gridCell, int colIndex, int rowIndex) protected StringgetCellAddress(int row, int col) protected Class<OdsExporterConfiguration> Returns the properties prefix for the current exporter.protected Class<OdsReportConfiguration> protected voidprotected voidprotected voidinsertPageAnchor(TableBuilder tableBuilder) protected voidprotected voidsetAutoFilter(String autoFilterRange) protected voidsetColumnWidth(int col, int width, boolean autoFit) protected voidsetFreezePane(int rowIndex, int colIndex) protected voidsetRowHeight(int rowIndex, int lastRowHeight, Cut yCut, XlsRowLevelInfo levelInfo) protected voidsetRowLevels(XlsRowLevelInfo levelInfo, String level) protected voidsetSheetName(String sheetName) Methods inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
configureHeaderFooter, configurePrintSettings, exportReportToStream, exportSheet, getSheetProps, setColumnWidthsMethods inherited from class net.sf.jasperreports.engine.export.ExcelAbstractExporter
calculateHeightForDinAN, calculateHeightForDinBN, calculateHeightForDinCN, calculateWidthForDinAN, calculateWidthForDinBN, calculateWidthForDinCN, configureDefinedNames, configureDefinedNames, configureDefinedNames, ensureInput, exportReport, getColumIndexName, getColumnIndex, getColumnName, getConvertedPattern, getDefaultFont, getFormula, getImageBorderCorrection, getMaxRowsPerSheet, getNature, getSheetName, getSheetName, getStyledText, getTextAlignHolder, hasGlobalSheetNames, isCellHidden, isCellLocked, isIgnoreTextFormatting, isShrinkToFit, isUseTimeZone, isValidScale, isWrapText, mergeAndSetRowLevels, resetAutoFilters, setSheetNames, toExcelName, translateDateValue, updateHeaderFooter, updatePrintSettingsMethods inherited from class net.sf.jasperreports.engine.JRAbstractExporter
checkInterrupted, createFilter, defaultParseNumber, ensureJasperReportsContext, ensureOutput, getBooleanCellValue, getCurrentConfiguration, getCurrentItemConfiguration, getCurrentJasperPrint, getDateCellValue, getDateFormat, getExporterConfiguration, getExporterContext, getExporterInput, getExporterOutput, getHyperlinkProducer, getJasperReportsContext, getLocale, getNumberCellValue, getNumberFormat, getOffsetX, getOffsetY, getPageRange, getPropertiesUtil, getRendererUtil, getReportContext, getReportExportConfiguration, getRepository, getStyledText, getTextFormatFactoryClass, getTextLocale, getTextTimeZone, getTextValue, getTextValueString, insideFrame, reset, resetExportContext, restoreElementOffsets, setConfiguration, setConfiguration, setCurrentExporterInputItem, setExporterInput, setExporterOutput, setFrameElementsOffset, setJasperReportsContext, setOffset, setOffset, setReportContext
-
Field Details
-
JR_PAGE_ANCHOR_PREFIX
- See Also:
-
DEFAULT_COLUMN
- See Also:
-
DEFAULT_ADDRESS
- See Also:
-
oasisZip
-
tempBodyEntry
-
tempStyleEntry
-
tempBodyWriter
-
tempStyleWriter
-
stylesWriter
-
styleCache
-
documentBuilder
-
tableBuilder
-
styleBuilder
-
startPage
protected boolean startPage -
oldPageFormat
-
pageFormatIndex
protected int pageFormatIndex -
namedExpressions
-
rowStyles
-
columnStyles
-
ODS_EXPORTER_PROPERTIES_PREFIX
- See Also:
-
ODS_EXPORTER_KEY
The exporter key, as used inGenericElementHandlerEnviroment.getElementHandler(JRGenericElementType, String).- See Also:
-
-
Constructor Details
-
JROdsExporter
public JROdsExporter()- See Also:
-
JROdsExporter
-
-
Method Details
-
openWorkbook
- Specified by:
openWorkbookin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRExceptionIOException
-
exportPage
protected int exportPage(JRPrintPage page, CutsInfo xCuts, int startRow, String defaultSheetName) throws JRException - Overrides:
exportPagein classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Returns:
- the number of rows added.
- Throws:
JRException
-
createSheet
- Specified by:
createSheetin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
closeSheet
protected void closeSheet()- Specified by:
closeSheetin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
closeWorkbook
- Specified by:
closeWorkbookin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRExceptionIOException
-
setColumnWidth
protected void setColumnWidth(int col, int width, boolean autoFit) - Specified by:
setColumnWidthin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
setRowHeight
protected void setRowHeight(int rowIndex, int lastRowHeight, Cut yCut, XlsRowLevelInfo levelInfo) throws JRException - Specified by:
setRowHeightin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
addRowBreak
protected void addRowBreak(int rowIndex) - Specified by:
addRowBreakin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
addBlankCell
- Specified by:
addBlankCellin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
addOccupiedCell
protected void addOccupiedCell(OccupiedGridCell occupiedGridCell, int colIndex, int rowIndex) throws JRException - Specified by:
addOccupiedCellin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportText
public void exportText(JRPrintText text, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportTextin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportImage
public void exportImage(JRPrintImage image, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) throws JRException - Specified by:
exportImagein classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
getCellAddress
-
exportRectangle
protected void exportRectangle(JRPrintGraphicElement rectangle, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportRectanglein classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportLine
protected void exportLine(JRPrintLine line, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportLinein classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportFrame
protected void exportFrame(JRPrintFrame frame, JRExporterGridCell cell, int colIndex, int rowIndex) throws JRException - Specified by:
exportFramein classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportGenericElement
protected void exportGenericElement(JRGenericPrintElement element, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) throws JRException - Specified by:
exportGenericElementin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
setFreezePane
protected void setFreezePane(int rowIndex, int colIndex) - Specified by:
setFreezePanein classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
setSheetName
- Specified by:
setSheetNamein classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
setAutoFilter
- Specified by:
setAutoFilterin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
setRowLevels
- Specified by:
setRowLevelsin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
getConfigurationInterface
-
getItemConfigurationInterface
-
initExport
protected void initExport()- Overrides:
initExportin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
initReport
protected void initReport()- Overrides:
initReportin classExcelAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext>
-
getExporterKey
-
getExporterPropertiesPrefix
Description copied from class:JRAbstractExporterReturns the properties prefix for the current exporter.- Specified by:
getExporterPropertiesPrefixin classJRAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, OutputStreamExporterOutput, JROdsExporterContext> - Returns:
- the properties prefix for the current exporter
-
insertPageAnchor
-
exportEmptyReport
- Overrides:
exportEmptyReportin classJRXlsAbstractExporter<OdsReportConfiguration,OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRExceptionIOException
-