public abstract class AbstractExcelImporter extends AbstractImporter implements Serializable
SBook model including following information: Book: name Sheet: name,
(default) column width, (default) row height, hidden row (column), row
(column) style, freeze, merge, protection, named range , gridline display
Cell: type, value, font with color and style, type offset(normal or
subscript), background color, border's type and color , data format,
alignment, wrap, locked, fill pattern
We use XLSX, XLS common interface (e.g. CellStyle instead of
XSSFCellStyle) to get content first for that codes can be easily
moved to parent class.| Modifier and Type | Field and Description |
|---|---|
protected boolean |
_importCache |
protected SBook |
book
target book model
|
protected static String |
BOOK_TYPE_KEY
book type key for book attribute
|
protected Map<Short,SFont> |
importedFont
SFont object> |
protected Map<org.zkoss.poi.ss.usermodel.PictureData,Integer> |
importedPictureData |
protected Map<org.zkoss.poi.ss.usermodel.CellStyle,SCellStyle> |
importedStyle
SCellStyle object> Keep track of imported
style during importing to avoid creating duplicated style objects. |
protected org.zkoss.poi.ss.usermodel.Workbook |
workbook
source POI book
|
| Constructor and Description |
|---|
AbstractExcelImporter() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract org.zkoss.poi.ss.usermodel.Workbook |
createPoiBook(InputStream is) |
protected SFont |
createZssFont(org.zkoss.poi.ss.usermodel.Font poiFont) |
protected abstract int |
getAnchorHeightInPx(org.zkoss.poi.ss.usermodel.ClientAnchor anchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet) |
protected abstract int |
getAnchorWidthInPx(org.zkoss.poi.ss.usermodel.ClientAnchor anchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet)
If in same column: anchorWidthInFirstColumn + anchor width in
inter-columns + anchorWidthInLastColumn (dx2) no in same column:
anchorWidthInLastColumn - offsetInFirstColumn (dx1)
|
static String |
getBookType(SBook book)
Gets the book-type information ("xls" or "xlsx"), return null if not found
|
protected org.zkoss.poi.ss.usermodel.Font |
getPoiFontFromRichText(org.zkoss.poi.ss.usermodel.Workbook book,
org.zkoss.poi.ss.usermodel.Cell cell,
org.zkoss.poi.ss.usermodel.RichTextString rstr,
int run) |
protected abstract int |
getXoffsetInPixel(org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet) |
protected abstract int |
getYoffsetInPixel(org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet) |
protected void |
importAutoFilter(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
POI AutoFilter.getFilterColumn(i) sometimes returns null.
|
protected void |
importAutoFilterColumns(org.zkoss.poi.ss.usermodel.AutoFilter poiFilter,
SAutoFilter zssFilter,
int numberOfColumn) |
protected SCell |
importCell(org.zkoss.poi.ss.usermodel.Cell poiCell,
int row,
SSheet sheet) |
protected SCellStyle |
importCellStyle(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle)
Convert CellStyle into NCellStyle
|
protected SCellStyle |
importCellStyle(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle,
boolean inStyleTable) |
protected abstract SColorFilter |
importColorFilter(org.zkoss.poi.ss.usermodel.ColorFilter colorFilter) |
protected abstract void |
importColumn(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
When a column is hidden with default width, we don't import the width for it's 0.
|
protected abstract void |
importConditionalFormatting(SSheet sheet,
org.zkoss.poi.ss.usermodel.Sheet poiSheet) |
protected abstract SCustomFilters |
importCustomFilters(org.zkoss.poi.ss.usermodel.CustomFilters customFilters) |
protected void |
importDefaultCellStyles() |
protected abstract void |
importDrawings(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
Drawings includes charts and pictures.
|
protected abstract SDynamicFilter |
importDynamicFilter(org.zkoss.poi.ss.usermodel.DynamicFilter dynamicFilter) |
protected abstract void |
importExternalBookLinks()
Excel uses external book links to map external book index and name.
|
protected void |
importExtraStyles() |
protected SFont |
importFont(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle) |
protected void |
importMergedRegions(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet) |
protected void |
importNamedRange()
Name should be created after sheets created.
|
protected void |
importNamedStyles() |
protected abstract void |
importPassword(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet) |
protected void |
importPicture(List<org.zkoss.poi.ss.usermodel.Picture> poiPictures,
org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet) |
protected void |
importRichText(org.zkoss.poi.ss.usermodel.Cell poiCell,
org.zkoss.poi.ss.usermodel.RichTextString poiRichTextString,
SRichText richText) |
protected SRow |
importRow(org.zkoss.poi.ss.usermodel.Row poiRow,
SSheet sheet) |
SBook |
imports(InputStream is,
String bookName)
Import the model according to reversed dependency order among model
objects: book, sheet, defined name, cells, chart, pictures, validation.
|
protected SSheet |
importSheet(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
int poiSheetIndex) |
protected void |
importSheetDefaultColumnWidth(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet) |
protected abstract void |
importSheetProtection(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
POI SheetProtection.
|
protected abstract void |
importTables(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
POI sheet tables
|
protected void |
importTableStyles() |
protected abstract STop10Filter |
importTop10Filter(org.zkoss.poi.ss.usermodel.Top10Filter top10Filter) |
protected abstract void |
importValidation(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet) |
protected boolean |
isImportCache()
Returns if import file cached value.
|
protected boolean |
mustCalc(SCell cell) |
protected abstract void |
setBookType(SBook book) |
void |
setImportCache(boolean b)
Set if import Excel cached value.
|
protected boolean |
skipName(org.zkoss.poi.ss.usermodel.Name definedName) |
protected ViewAnchor |
toViewAnchor(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor) |
protected SFont |
toZssFont(org.zkoss.poi.ss.usermodel.Font poiFont) |
imports, importsprotected Map<org.zkoss.poi.ss.usermodel.CellStyle,SCellStyle> importedStyle
SCellStyle object> Keep track of imported
style during importing to avoid creating duplicated style objects.protected SBook book
protected org.zkoss.poi.ss.usermodel.Workbook workbook
protected Map<org.zkoss.poi.ss.usermodel.PictureData,Integer> importedPictureData
protected static String BOOK_TYPE_KEY
protected boolean _importCache
protected void importDefaultCellStyles()
protected void importNamedStyles()
public SBook imports(InputStream is, String bookName) throws IOException
imports in interface SImporteris - the input streambookName - the book name for imported bookIOExceptionprotected abstract org.zkoss.poi.ss.usermodel.Workbook createPoiBook(InputStream is) throws IOException
IOExceptionprotected abstract void setBookType(SBook book)
public static String getBookType(SBook book)
book - protected abstract void importColumn(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
poiSheet - sheet - protected abstract int getAnchorWidthInPx(org.zkoss.poi.ss.usermodel.ClientAnchor anchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet)
protected abstract int getAnchorHeightInPx(org.zkoss.poi.ss.usermodel.ClientAnchor anchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet)
protected void importNamedRange()
protected boolean skipName(org.zkoss.poi.ss.usermodel.Name definedName)
protected abstract void importExternalBookLinks()
protected void importSheetDefaultColumnWidth(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
protected SSheet importSheet(org.zkoss.poi.ss.usermodel.Sheet poiSheet, int poiSheetIndex)
protected abstract void importPassword(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
protected void importMergedRegions(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
protected abstract void importDrawings(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
protected abstract void importValidation(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
protected SCell importCell(org.zkoss.poi.ss.usermodel.Cell poiCell, int row, SSheet sheet)
protected void importRichText(org.zkoss.poi.ss.usermodel.Cell poiCell,
org.zkoss.poi.ss.usermodel.RichTextString poiRichTextString,
SRichText richText)
protected SCellStyle importCellStyle(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle)
poiCellStyle - protected SCellStyle importCellStyle(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle, boolean inStyleTable)
protected SFont importFont(org.zkoss.poi.ss.usermodel.CellStyle poiCellStyle)
protected SFont toZssFont(org.zkoss.poi.ss.usermodel.Font poiFont)
protected SFont createZssFont(org.zkoss.poi.ss.usermodel.Font poiFont)
protected ViewAnchor toViewAnchor(org.zkoss.poi.ss.usermodel.Sheet poiSheet, org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor)
protected abstract int getXoffsetInPixel(org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet)
protected abstract int getYoffsetInPixel(org.zkoss.poi.ss.usermodel.ClientAnchor clientAnchor,
org.zkoss.poi.ss.usermodel.Sheet poiSheet)
protected void importPicture(List<org.zkoss.poi.ss.usermodel.Picture> poiPictures, org.zkoss.poi.ss.usermodel.Sheet poiSheet, SSheet sheet)
protected void importAutoFilter(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
poiSheet - source POI sheetsheet - destination sheetprotected void importAutoFilterColumns(org.zkoss.poi.ss.usermodel.AutoFilter poiFilter,
SAutoFilter zssFilter,
int numberOfColumn)
protected abstract STop10Filter importTop10Filter(org.zkoss.poi.ss.usermodel.Top10Filter top10Filter)
protected abstract SDynamicFilter importDynamicFilter(org.zkoss.poi.ss.usermodel.DynamicFilter dynamicFilter)
protected abstract SCustomFilters importCustomFilters(org.zkoss.poi.ss.usermodel.CustomFilters customFilters)
protected abstract SColorFilter importColorFilter(org.zkoss.poi.ss.usermodel.ColorFilter colorFilter)
protected org.zkoss.poi.ss.usermodel.Font getPoiFontFromRichText(org.zkoss.poi.ss.usermodel.Workbook book,
org.zkoss.poi.ss.usermodel.Cell cell,
org.zkoss.poi.ss.usermodel.RichTextString rstr,
int run)
protected abstract void importSheetProtection(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
poiSheet - source POI sheetsheet - destination sheetprotected abstract void importTables(org.zkoss.poi.ss.usermodel.Sheet poiSheet,
SSheet sheet)
poiSheet - source POI sheetsheet - destination sheetpublic void setImportCache(boolean b)
protected boolean isImportCache()
protected boolean mustCalc(SCell cell)
protected abstract void importConditionalFormatting(SSheet sheet, org.zkoss.poi.ss.usermodel.Sheet poiSheet)
protected void importExtraStyles()
protected void importTableStyles()
Copyright © 2019. All rights reserved.