Class ExcelExporter
java.lang.Object
io.jmix.gridexportui.exporter.AbstractTableExporter<ExcelExporter>
io.jmix.gridexportui.exporter.excel.ExcelExporter
- All Implemented Interfaces:
TableExporter
@Component("grdexp_ExcelExporter")
@Scope("prototype")
public class ExcelExporter
extends AbstractTableExporter<ExcelExporter>
Use this class to export
Just create an instance of
Table into Excel format
Just create an instance of
ExportAction with withExporter method.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jmix.gridexportui.exporter.TableExporter
TableExporter.ColumnValueContext -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.poi.ss.usermodel.Fontprotected static final intprotected org.apache.poi.ss.usermodel.CellStyleprotected org.apache.poi.ss.usermodel.CellStyleprotected org.apache.poi.ss.usermodel.CellStyleprotected booleanprotected Booleanprotected GridExportPropertiesprotected org.apache.poi.ss.usermodel.CellStyleprotected booleanstatic final intprotected org.apache.poi.ss.usermodel.Sheetprotected ExcelAutoColumnSizer[]protected org.apache.poi.ss.usermodel.Fontprotected org.apache.poi.ss.usermodel.CellStyleprotected org.apache.poi.ss.usermodel.WorkbookFields inherited from class io.jmix.gridexportui.exporter.AbstractTableExporter
columnValueProviders, coreProperties, datatypeRegistry, fileName, messages, messageTools, metadataTools, uiProperties -
Constructor Summary
ConstructorsConstructorDescriptionExcelExporter(GridExportProperties gridExportProperties, AllEntitiesLoaderFactory allEntitiesLoaderFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckIsRowNumberExceed(int r) protected intcreateAggregatableRow(Table<Object> table, List<Table.Column<Object>> columns, int rowNumber, int aggregatableRow) protected voidcreateAutoColumnSizers(int count) protected intcreateDataGridHierarchicalRow(TreeDataGrid dataGrid, TreeDataGridItems<Object> treeDataGridItems, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object item) protected voidcreateDataGridRow(DataGrid dataGrid, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object itemId) protected voidcreateDataGridRowForEntityInstance(DataGrid dataGrid, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object entityInstance, boolean addLevelPadding) protected voidprotected voidprotected intcreateGroupRow(GroupTable<Object> table, List<Table.Column<Object>> columns, int rowNumber, GroupInfo<?> groupInfo, int groupNumber) protected intcreateHierarchicalRow(TreeTable<Object> table, List<Table.Column<Object>> columns, Boolean exportExpanded, int rowNumber, Object itemId) protected Function<Object,InstanceContainer<Object>> createInstanceContainerProvider(DataGrid dataGrid, Object item) protected voidcreateRow(Table<Object> table, List<Table.Column<Object>> columns, int startColumn, int rowNumber, Object itemId) protected voidcreateRowForEntityInstance(Table<Object> table, List<Table.Column<Object>> columns, int startColumn, int rowNumber, Object entityInstance, boolean addLevelPadding) protected StringcreateSpaceString(int level) protected voidprotected voidvoidexportDataGrid(Downloader downloader, DataGrid<Object> dataGrid, ExportMode exportMode) downloaddataGridcontent viadownloadervoidexportTable(Downloader downloader, Table<Object> table, ExportMode exportMode) downloadtablecontent viadownloaderprotected voidformatValueCell(org.apache.poi.ss.usermodel.Cell cell, Object cellValue, MetaPropertyPath metaPropertyPath, int sizersIndex, int notificationRequired, int level, Integer groupChildCount) returns exporter captionbooleanprotected booleanhasAggregatableColumn(Table<Object> table) Checks that at least one column in table is aggregatable.protected booleanvoidsetExportAggregation(boolean exportAggregation) Export table with aggregationvoidsetExportExpanded(Boolean exportExpanded) Export tree table with expanded rowsprotected voidshowWarnNotification(Component.BelongToFrame belongToFrame) withExportAggregation(Boolean exportAggregation) Export table with aggregationwithExportExpanded(Boolean exportExpanded) Export tree table with expanded rowsMethods inherited from class io.jmix.gridexportui.exporter.AbstractTableExporter
addColumnValueProvider, formatValue, formatValue, getColumnValue, getColumnValue, getColumnValueProvider, getFileName, getFileName, getFileName, getMetaClassName, removeColumnValueProvider, setFileName, withFileName
-
Field Details
-
COL_WIDTH_MAGIC
protected static final int COL_WIDTH_MAGIC- See Also:
-
MAX_ROW_COUNT
public static final int MAX_ROW_COUNT -
wb
protected org.apache.poi.ss.usermodel.Workbook wb -
boldFont
protected org.apache.poi.ss.usermodel.Font boldFont -
stdFont
protected org.apache.poi.ss.usermodel.Font stdFont -
sheet
protected org.apache.poi.ss.usermodel.Sheet sheet -
timeFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle timeFormatCellStyle -
dateFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle dateFormatCellStyle -
dateTimeFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle dateTimeFormatCellStyle -
integerFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle integerFormatCellStyle -
doubleFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle doubleFormatCellStyle -
sizers
-
exportAggregation
protected boolean exportAggregation -
exportExpanded
-
isRowNumberExceeded
protected boolean isRowNumberExceeded -
gridExportProperties
-
-
Constructor Details
-
ExcelExporter
public ExcelExporter(GridExportProperties gridExportProperties, AllEntitiesLoaderFactory allEntitiesLoaderFactory)
-
-
Method Details
-
createWorkbookWithSheet
protected void createWorkbookWithSheet() -
createFonts
protected void createFonts() -
createAutoColumnSizers
protected void createAutoColumnSizers(int count) -
exportTable
Description copied from interface:TableExporterdownloadtablecontent viadownloader -
exportDataGrid
Description copied from interface:TableExporterdownloaddataGridcontent viadownloader -
createDataGridHierarchicalRow
protected int createDataGridHierarchicalRow(TreeDataGrid dataGrid, TreeDataGridItems<Object> treeDataGridItems, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object item) -
createDataGridRow
protected void createDataGridRow(DataGrid dataGrid, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object itemId) -
createDataGridRowForEntityInstance
protected void createDataGridRowForEntityInstance(DataGrid dataGrid, List<DataGrid.Column<Object>> columns, int startColumn, int rowNumber, Object entityInstance, boolean addLevelPadding) -
createInstanceContainerProvider
protected Function<Object,InstanceContainer<Object>> createInstanceContainerProvider(DataGrid dataGrid, Object item) - Overrides:
createInstanceContainerProviderin classAbstractTableExporter<ExcelExporter>
-
createFormats
protected void createFormats() -
createHierarchicalRow
-
createAggregatableRow
protected int createAggregatableRow(Table<Object> table, List<Table.Column<Object>> columns, int rowNumber, int aggregatableRow) -
createGroupRow
protected int createGroupRow(GroupTable<Object> table, List<Table.Column<Object>> columns, int rowNumber, GroupInfo<?> groupInfo, int groupNumber) -
createRow
-
createRowForEntityInstance
-
createSpaceString
-
formatValueCell
protected void formatValueCell(org.apache.poi.ss.usermodel.Cell cell, @Nullable Object cellValue, @Nullable MetaPropertyPath metaPropertyPath, int sizersIndex, int notificationRequired, int level, @Nullable Integer groupChildCount) -
checkIsRowNumberExceed
protected boolean checkIsRowNumberExceed(int r) -
isXlsxMaxRowNumberExceeded
protected boolean isXlsxMaxRowNumberExceeded()- Returns:
- true if exported table contains more than
MAX_ROW_COUNTrecords
-
showWarnNotification
-
setExportAggregation
public void setExportAggregation(boolean exportAggregation) Export table with aggregation- Parameters:
exportAggregation- set to true to export table with aggregation
-
getExportAggregation
public boolean getExportAggregation()- Returns:
- export aggregation
-
withExportAggregation
Export table with aggregation- Parameters:
exportAggregation- set to true to export table with aggregation- Returns:
- exporter instance
-
hasAggregatableColumn
Checks that at least one column in table is aggregatable.- Parameters:
table- table- Returns:
- true if at least one column is aggregatable
-
getExportExpanded
- Returns:
- tree table export expanded
-
setExportExpanded
Export tree table with expanded rows- Parameters:
exportExpanded- set to true to export collapsed items in expanded view
-
withExportExpanded
Export tree table with expanded rows- Parameters:
exportExpanded- set to true to export collapsed items in expanded view- Returns:
- exporter instance
-
getCaption
Description copied from interface:TableExporterreturns exporter caption -
disposeWorkBook
protected void disposeWorkBook()
-