@Component(value="ui_ExcelExporter") @Scope(value="prototype") public class ExcelExporter extends AbstractTableExporter<ExcelExporter>
Table
into Excel format
ExportAction
with withExporter
method.Modifier and Type | Class and Description |
---|---|
static class |
ExcelExporter.ExportFormat |
TableExporter.ColumnValueContext
Modifier and Type | Field and Description |
---|---|
protected org.apache.poi.ss.usermodel.Font |
boldFont |
protected static int |
COL_WIDTH_MAGIC |
protected org.apache.poi.ss.usermodel.CellStyle |
dateFormatCellStyle |
protected org.apache.poi.ss.usermodel.CellStyle |
dateTimeFormatCellStyle |
protected org.apache.poi.ss.usermodel.CellStyle |
doubleFormatCellStyle |
protected boolean |
exportAggregation |
protected java.lang.Boolean |
exportExpanded |
protected ExcelExporter.ExportFormat |
exportFormat |
protected org.apache.poi.ss.usermodel.CellStyle |
integerFormatCellStyle |
protected boolean |
isRowNumberExceeded |
static int |
MAX_ROW_COUNT |
protected org.apache.poi.ss.usermodel.Sheet |
sheet |
protected ExcelAutoColumnSizer[] |
sizers |
protected org.apache.poi.ss.usermodel.Font |
stdFont |
protected org.apache.poi.ss.usermodel.CellStyle |
timeFormatCellStyle |
protected org.apache.poi.ss.usermodel.Workbook |
wb |
columnValueProviders, coreProperties, datatypeRegistry, fileName, messages, messageTools, metadataTools, uiProperties
Constructor and Description |
---|
ExcelExporter() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkIsRowNumberExceed(int r) |
protected int |
createAggregatableRow(Table<java.lang.Object> table,
java.util.List<Table.Column<java.lang.Object>> columns,
int rowNumber,
int aggregatableRow) |
protected void |
createAutoColumnSizers(int count) |
protected int |
createDataGridHierarchicalRow(TreeDataGrid dataGrid,
TreeDataGridItems<java.lang.Object> treeDataGridItems,
java.util.List<DataGrid.Column<java.lang.Object>> columns,
int startColumn,
int rowNumber,
java.lang.Object item) |
protected void |
createDataGridRow(DataGrid dataGrid,
java.util.List<DataGrid.Column<java.lang.Object>> columns,
int startColumn,
int rowNumber,
java.lang.Object itemId) |
protected void |
createFonts() |
protected void |
createFormats() |
protected int |
createGroupRow(GroupTable<java.lang.Object> table,
java.util.List<Table.Column<java.lang.Object>> columns,
int rowNumber,
GroupInfo<?> groupInfo,
int groupNumber) |
protected int |
createHierarchicalRow(TreeTable<java.lang.Object> table,
java.util.List<Table.Column<java.lang.Object>> columns,
java.lang.Boolean exportExpanded,
int rowNumber,
java.lang.Object itemId) |
protected java.util.function.Function<java.lang.Object,InstanceContainer<java.lang.Object>> |
createInstanceContainerProvider(DataGrid dataGrid,
java.lang.Object item) |
protected void |
createRow(Table<java.lang.Object> table,
java.util.List<Table.Column<java.lang.Object>> columns,
int startColumn,
int rowNumber,
java.lang.Object itemId) |
protected java.lang.String |
createSpaceString(int level) |
protected void |
createWorkbookWithSheet() |
void |
exportDataGrid(Downloader downloader,
DataGrid<java.lang.Object> dataGrid,
ExportMode exportMode)
download
dataGrid content via downloader |
void |
exportTable(Downloader downloader,
Table<java.lang.Object> table,
ExportMode exportMode)
download
table content via downloader |
protected void |
formatValueCell(org.apache.poi.ss.usermodel.Cell cell,
java.lang.Object cellValue,
io.jmix.core.metamodel.model.MetaPropertyPath metaPropertyPath,
int sizersIndex,
int notificationRequired,
int level,
java.lang.Integer groupChildCount) |
java.lang.String |
getCaption()
returns exporter caption
|
boolean |
getExportAggregation() |
java.lang.Boolean |
getExportExpanded() |
protected boolean |
hasAggregatableColumn(Table<java.lang.Object> table)
Checks that at least one column in table is aggregatable.
|
protected boolean |
isXlsMaxRowNumberExceeded() |
void |
setExportAggregation(boolean exportAggregation)
Export table with aggregation
|
void |
setExportExpanded(java.lang.Boolean exportExpanded)
Export tree table with expanded rows
|
ExcelExporter |
withExportAggregation(java.lang.Boolean exportAggregation)
Export table with aggregation
|
ExcelExporter |
withExportExpanded(java.lang.Boolean exportExpanded)
Export tree table with expanded rows
|
addColumnValueProvider, formatValue, getColumnValue, getColumnValue, getColumnValueProvider, getFileName, getFileName, getFileName, getMetaClassName, removeColumnValueProvider, setFileName, withFileName
protected static final int COL_WIDTH_MAGIC
public static final int MAX_ROW_COUNT
protected org.apache.poi.ss.usermodel.Workbook wb
protected org.apache.poi.ss.usermodel.Font boldFont
protected org.apache.poi.ss.usermodel.Font stdFont
protected org.apache.poi.ss.usermodel.Sheet sheet
protected org.apache.poi.ss.usermodel.CellStyle timeFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle dateFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle dateTimeFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle integerFormatCellStyle
protected org.apache.poi.ss.usermodel.CellStyle doubleFormatCellStyle
protected ExcelAutoColumnSizer[] sizers
protected boolean exportAggregation
protected java.lang.Boolean exportExpanded
protected ExcelExporter.ExportFormat exportFormat
protected boolean isRowNumberExceeded
protected void createWorkbookWithSheet()
protected void createFonts()
protected void createAutoColumnSizers(int count)
public void exportTable(Downloader downloader, Table<java.lang.Object> table, ExportMode exportMode)
TableExporter
table
content via downloader
public void exportDataGrid(Downloader downloader, DataGrid<java.lang.Object> dataGrid, ExportMode exportMode)
TableExporter
dataGrid
content via downloader
protected int createDataGridHierarchicalRow(TreeDataGrid dataGrid, TreeDataGridItems<java.lang.Object> treeDataGridItems, java.util.List<DataGrid.Column<java.lang.Object>> columns, int startColumn, int rowNumber, java.lang.Object item)
protected void createDataGridRow(DataGrid dataGrid, java.util.List<DataGrid.Column<java.lang.Object>> columns, int startColumn, int rowNumber, java.lang.Object itemId)
protected java.util.function.Function<java.lang.Object,InstanceContainer<java.lang.Object>> createInstanceContainerProvider(DataGrid dataGrid, java.lang.Object item)
createInstanceContainerProvider
in class AbstractTableExporter<ExcelExporter>
protected void createFormats()
protected int createHierarchicalRow(TreeTable<java.lang.Object> table, java.util.List<Table.Column<java.lang.Object>> columns, java.lang.Boolean exportExpanded, int rowNumber, java.lang.Object itemId)
protected int createAggregatableRow(Table<java.lang.Object> table, java.util.List<Table.Column<java.lang.Object>> columns, int rowNumber, int aggregatableRow)
protected int createGroupRow(GroupTable<java.lang.Object> table, java.util.List<Table.Column<java.lang.Object>> columns, int rowNumber, GroupInfo<?> groupInfo, int groupNumber)
protected void createRow(Table<java.lang.Object> table, java.util.List<Table.Column<java.lang.Object>> columns, int startColumn, int rowNumber, java.lang.Object itemId)
protected java.lang.String createSpaceString(int level)
protected void formatValueCell(org.apache.poi.ss.usermodel.Cell cell, @Nullable java.lang.Object cellValue, @Nullable io.jmix.core.metamodel.model.MetaPropertyPath metaPropertyPath, int sizersIndex, int notificationRequired, int level, @Nullable java.lang.Integer groupChildCount)
protected boolean checkIsRowNumberExceed(int r)
protected boolean isXlsMaxRowNumberExceeded()
public void setExportAggregation(boolean exportAggregation)
exportAggregation
- set to true to export table with aggregationpublic boolean getExportAggregation()
public ExcelExporter withExportAggregation(java.lang.Boolean exportAggregation)
exportAggregation
- set to true to export table with aggregationprotected boolean hasAggregatableColumn(Table<java.lang.Object> table)
table
- tablepublic java.lang.Boolean getExportExpanded()
public void setExportExpanded(java.lang.Boolean exportExpanded)
exportExpanded
- set to true to export collapsed items in expanded viewpublic ExcelExporter withExportExpanded(java.lang.Boolean exportExpanded)
exportExpanded
- set to true to export collapsed items in expanded viewpublic java.lang.String getCaption()
TableExporter