|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.nebula.widgets.nattable.extension.poi.PoiExcelExporter
public abstract class PoiExcelExporter
Field Summary | |
---|---|
protected int |
sheetNumber
|
protected org.apache.poi.ss.usermodel.Row |
xlRow
|
protected org.apache.poi.ss.usermodel.Sheet |
xlSheet
|
protected org.apache.poi.ss.usermodel.Workbook |
xlWorkbook
|
Constructor Summary | |
---|---|
PoiExcelExporter(IOutputStreamProvider outputStreamProvider)
|
Method Summary | |
---|---|
protected abstract org.apache.poi.ss.usermodel.Workbook |
createWorkbook()
|
void |
exportBegin(OutputStream outputStream)
Need to be called only once at the beginning of an export operation. |
void |
exportCell(OutputStream outputStream,
Object exportDisplayValue,
ILayerCell cell,
IConfigRegistry configRegistry)
Exports one cell. |
void |
exportEnd(OutputStream outputStream)
Need to be called only once at the end of an export operation. |
void |
exportLayerBegin(OutputStream outputStream,
String layerName)
Starts the export operation of one ILayer. |
void |
exportLayerEnd(OutputStream outputStream,
String layerName)
Ends the export operation of one ILayer. |
void |
exportRowBegin(OutputStream outputStream,
int rowPosition)
Starts the export operation of one row. |
void |
exportRowEnd(OutputStream outputStream,
int rowPosition)
Ends the export operation of one row. |
protected String |
getDataFormatString(ILayerCell cell,
IConfigRegistry configRegistry)
|
OutputStream |
getOutputStream(org.eclipse.swt.widgets.Shell shell)
|
Object |
getResult()
|
void |
setApplyBackgroundColor(boolean applyBackgroundColor)
|
void |
setApplyVerticalTextConfiguration(boolean inspectVertical)
Configure this exporter whether it should check for vertical text configuration in NatTable and apply the corresponding rotation style attribute in the export, or not. |
protected abstract void |
setFillForegroundColor(org.apache.poi.ss.usermodel.CellStyle xlCellStyle,
org.eclipse.swt.graphics.Color swtColor)
|
protected abstract void |
setFontColor(org.apache.poi.ss.usermodel.Font xlFont,
org.eclipse.swt.graphics.Color swtColor)
|
void |
setSheetname(String sheetname)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected org.apache.poi.ss.usermodel.Workbook xlWorkbook
protected int sheetNumber
protected org.apache.poi.ss.usermodel.Sheet xlSheet
protected org.apache.poi.ss.usermodel.Row xlRow
Constructor Detail |
---|
public PoiExcelExporter(IOutputStreamProvider outputStreamProvider)
Method Detail |
---|
public OutputStream getOutputStream(org.eclipse.swt.widgets.Shell shell)
getOutputStream
in interface ILayerExporter
shell
- The Shell where the current ILayer to export is connected to.
Necessary to support user interactions via dialogs on
configuring the output location.
public void exportBegin(OutputStream outputStream) throws IOException
ILayerExporter
Note: Also on exporting multiple NatTable instances as part of a single export operation, this method should only be called once before any layers are exported.
exportBegin
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.
IOException
- If the beginning of an export already performs I/O operations
that fail.public void exportEnd(OutputStream outputStream) throws IOException
ILayerExporter
Note: Also on exporting multiple NatTable instances as part of a single export operation, this method should only be called once after all layers are exported.
exportEnd
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.
IOException
- If finishing the export operation fails on an I/O operation.public void exportLayerBegin(OutputStream outputStream, String layerName) throws IOException
ILayerExporter
On exporting multiple NatTable instances, this method needs to be called once for every instance.
exportLayerBegin
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.layerName
- The name that should be used as sheet name.
IOException
- If an error occurred during writing the export.public void exportLayerEnd(OutputStream outputStream, String layerName) throws IOException
ILayerExporter
On exporting multiple NatTable instances, this method needs to be called once for every instance.
exportLayerEnd
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.layerName
- The name that is used as sheet name. Usually not necessary,
but in case there is caching involved in a custom
ILayerExporter implementation, this can be used to retrieve
the ILayer instance again.
IOException
- If an error occurred during writing the export.public void exportRowBegin(OutputStream outputStream, int rowPosition) throws IOException
ILayerExporter
exportRowBegin
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.rowPosition
- The position of the row to export.
IOException
- If an error occurred during writing the export.public void exportRowEnd(OutputStream outputStream, int rowPosition) throws IOException
ILayerExporter
exportRowEnd
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.rowPosition
- The position of the row that was exported. Usually not
necessary, but in case there is caching involved in a custom
ILayerExporter implementation, this can be used to retrieve
the row again.
IOException
- If an error occurred during writing the export.public void exportCell(OutputStream outputStream, Object exportDisplayValue, ILayerCell cell, IConfigRegistry configRegistry) throws IOException
ILayerExporter
exportCell
in interface ILayerExporter
outputStream
- The OutputStream to write the export to.exportDisplayValue
- The value that will be written to the export file. This value
is determined by using the data value of the ILayerCell and
the registered IExportFormatter within the NatExporter.cell
- The ILayerCell that is currently exported.configRegistry
- The ConfigRegistry to retrieve the registered style
information of the cell that is currently exported.
IOException
- If an error occurred during writing the export.protected String getDataFormatString(ILayerCell cell, IConfigRegistry configRegistry)
cell
- The cell for which the date format needs to be determined.configRegistry
- The ConfigRegistry needed to retrieve the configuration.
public void setApplyBackgroundColor(boolean applyBackgroundColor)
applyBackgroundColor
- true
to apply the background color set in the
NatTable to the exported Excel. This also includes white
background and header background color. false
if
the background color should not be set on export.public void setApplyVerticalTextConfiguration(boolean inspectVertical)
Note: As showing text vertically in NatTable is not a style information
but a configured via painter implementation, the check whether text is
showed vertically needs to be done via reflection. Therefore setting this
value to true
could cause performance issues. As vertical
text is not the default case and the effect on performance might be
negative, the default value for this configuration is false
.
If vertical text (e.g. column headers) should also be exported
vertically, you need to set this value to true
.
inspectVertical
- true
to configure this exporter to check for
vertical text configuration and apply the rotation style for
the export, false
to always use the regular text
direction, regardless of vertical rendered text in NatTable.protected abstract org.apache.poi.ss.usermodel.Workbook createWorkbook()
protected abstract void setFillForegroundColor(org.apache.poi.ss.usermodel.CellStyle xlCellStyle, org.eclipse.swt.graphics.Color swtColor)
protected abstract void setFontColor(org.apache.poi.ss.usermodel.Font xlFont, org.eclipse.swt.graphics.Color swtColor)
public Object getResult()
getResult
in interface ILayerExporter
public void setSheetname(String sheetname)
sheetname
- The name that should be set as sheet name in the resulting
Excel file. Setting this value to null
will
result in a sheet name following the pattern Sheet +
<sheet number>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |