Package io.jmix.uiexport.exporter.excel
Class ExcelExporter
java.lang.Object
io.jmix.uiexport.exporter.AbstractTableExporter<ExcelExporter>
io.jmix.uiexport.exporter.excel.ExcelExporter
- All Implemented Interfaces:
TableExporter
@Component("ui_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 ClassesNested classes/interfaces inherited from interface io.jmix.uiexport.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 ExcelExporter.ExportFormatprotected 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.uiexport.exporter.AbstractTableExporter
columnValueProviders, coreProperties, datatypeRegistry, fileName, messages, messageTools, metadataTools, uiProperties -
Constructor Summary
Constructors -
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 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 StringcreateSpaceString(int level) protected 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 rowswithExportAggregation(Boolean exportAggregation) Export table with aggregationwithExportExpanded(Boolean exportExpanded) Export tree table with expanded rowsMethods inherited from class io.jmix.uiexport.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- See Also:
-
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
-
exportFormat
-
isRowNumberExceeded
protected boolean isRowNumberExceeded
-
-
Constructor Details
-
ExcelExporter
public ExcelExporter()
-
-
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) -
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
-
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) -
isXlsMaxRowNumberExceeded
protected boolean isXlsMaxRowNumberExceeded()- Returns:
- true if exported table contains more than 65536 records
-
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
-