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 class
protected class
protected class
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
JRXlsAbstractExporter.SheetInfo
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.export.ExcelAbstractExporter
ExcelAbstractExporter.NameScope, ExcelAbstractExporter.TextAlignHolder
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.JRAbstractExporter
JRAbstractExporter.BaseExporterContext, JRAbstractExporter.PageRange
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
protected static final String
protected DocumentBuilder
protected static final String
protected StringBuilder
protected OasisZip
static final String
The exporter key, as used inGenericElementHandlerEnviroment.getElementHandler(JRGenericElementType, String)
.protected static final String
protected PrintPageFormat
protected int
protected boolean
protected StyleBuilder
protected StyleCache
protected WriterHelper
protected TableBuilder
protected ExportZipEntry
protected WriterHelper
protected ExportZipEntry
protected WriterHelper
Fields 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_PREFIX
Fields 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 void
addBlankCell
(JRExporterGridCell gridCell, int colIndex, int rowIndex) protected void
addOccupiedCell
(OccupiedGridCell occupiedGridCell, int colIndex, int rowIndex) protected void
addRowBreak
(int rowIndex) protected void
protected void
protected void
createSheet
(CutsInfo xCuts, JRXlsAbstractExporter.SheetInfo sheetInfo) protected void
protected void
exportFrame
(JRPrintFrame frame, JRExporterGridCell cell, int colIndex, int rowIndex) protected void
exportGenericElement
(JRGenericPrintElement element, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) void
exportImage
(JRPrintImage image, JRExporterGridCell gridCell, int colIndex, int rowIndex, int emptyCols, int yCutsRow, JRGridLayout layout) protected void
exportLine
(JRPrintLine line, JRExporterGridCell gridCell, int colIndex, int rowIndex) protected int
exportPage
(JRPrintPage page, CutsInfo xCuts, int startRow, String defaultSheetName) protected void
exportRectangle
(JRPrintGraphicElement rectangle, JRExporterGridCell gridCell, int colIndex, int rowIndex) void
exportText
(JRPrintText text, JRExporterGridCell gridCell, int colIndex, int rowIndex) protected String
getCellAddress
(int row, int col) protected Class
<OdsExporterConfiguration> Returns the properties prefix for the current exporter.protected Class
<OdsReportConfiguration> protected void
protected void
protected void
insertPageAnchor
(TableBuilder tableBuilder) protected void
protected void
setAutoFilter
(String autoFilterRange) protected void
setColumnWidth
(int col, int width, boolean autoFit) protected void
setFreezePane
(int rowIndex, int colIndex) protected void
setRowHeight
(int rowIndex, int lastRowHeight, Cut yCut, XlsRowLevelInfo levelInfo) protected void
setRowLevels
(XlsRowLevelInfo levelInfo, String level) protected void
setSheetName
(String sheetName) Methods inherited from class net.sf.jasperreports.engine.export.JRXlsAbstractExporter
configureHeaderFooter, configurePrintSettings, exportReportToStream, exportSheet, getSheetProps, setColumnWidths
Methods 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, updatePrintSettings
Methods 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:
openWorkbook
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
IOException
-
exportPage
protected int exportPage(JRPrintPage page, CutsInfo xCuts, int startRow, String defaultSheetName) throws JRException - Overrides:
exportPage
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Returns:
- the number of rows added.
- Throws:
JRException
-
createSheet
- Specified by:
createSheet
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
closeSheet
protected void closeSheet()- Specified by:
closeSheet
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
closeWorkbook
- Specified by:
closeWorkbook
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
IOException
-
setColumnWidth
protected void setColumnWidth(int col, int width, boolean autoFit) - Specified by:
setColumnWidth
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
setRowHeight
protected void setRowHeight(int rowIndex, int lastRowHeight, Cut yCut, XlsRowLevelInfo levelInfo) throws JRException - Specified by:
setRowHeight
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
addRowBreak
protected void addRowBreak(int rowIndex) - Specified by:
addRowBreak
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
addBlankCell
- Specified by:
addBlankCell
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
addOccupiedCell
protected void addOccupiedCell(OccupiedGridCell occupiedGridCell, int colIndex, int rowIndex) throws JRException - Specified by:
addOccupiedCell
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportText
public void exportText(JRPrintText text, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportText
in 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:
exportImage
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
getCellAddress
-
exportRectangle
protected void exportRectangle(JRPrintGraphicElement rectangle, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportRectangle
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportLine
protected void exportLine(JRPrintLine line, JRExporterGridCell gridCell, int colIndex, int rowIndex) throws JRException - Specified by:
exportLine
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
exportFrame
protected void exportFrame(JRPrintFrame frame, JRExporterGridCell cell, int colIndex, int rowIndex) throws JRException - Specified by:
exportFrame
in 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:
exportGenericElement
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
-
setFreezePane
protected void setFreezePane(int rowIndex, int colIndex) - Specified by:
setFreezePane
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
setSheetName
- Specified by:
setSheetName
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
setAutoFilter
- Specified by:
setAutoFilter
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
setRowLevels
- Specified by:
setRowLevels
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
getConfigurationInterface
-
getItemConfigurationInterface
-
initExport
protected void initExport()- Overrides:
initExport
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
initReport
protected void initReport()- Overrides:
initReport
in classExcelAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext>
-
getExporterKey
-
getExporterPropertiesPrefix
Description copied from class:JRAbstractExporter
Returns the properties prefix for the current exporter.- Specified by:
getExporterPropertiesPrefix
in classJRAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, OutputStreamExporterOutput, JROdsExporterContext> - Returns:
- the properties prefix for the current exporter
-
insertPageAnchor
-
exportEmptyReport
- Overrides:
exportEmptyReport
in classJRXlsAbstractExporter<OdsReportConfiguration,
OdsExporterConfiguration, JROdsExporterContext> - Throws:
JRException
IOException
-