it.eng.spagobi.engines.worksheet.exporter
Class WorkSheetXLSXExporter

java.lang.Object
  extended by it.eng.spagobi.engines.worksheet.exporter.WorkSheetXLSXExporter

public class WorkSheetXLSXExporter
extends java.lang.Object

Exports the crosstab data (formatted as a JSON object in input) into a XLS file. The JSON object should have this structure (a node is {node_key:"Text", node_childs:[...]}): columns: {...} contains tree node structure of the columns' headers rows: {...} contains tree node structure of the rows' headers data: [[...], [...], ...] 2-dimensional matrix containing crosstab data

Author:
Chiara Chiarelli

Field Summary
static java.lang.String CENTER
           
static java.lang.String CHART
           
static java.lang.String CONTENT
           
static java.lang.String CROSSTAB
           
static java.lang.String CROSSTAB_JSON_DESCENDANTS_NUMBER
           
static java.lang.String EXPORTED_SHEETS
           
static java.lang.String FOOTER
           
static java.lang.String HEADER
           
static java.lang.String IMG
           
static java.lang.String LEFT
           
static org.apache.log4j.Logger logger
          Logger component.
static java.lang.String OUTPUT_FORMAT_JPEG
           
static java.lang.String POSITION
           
static java.lang.String RIGHT
           
static java.lang.String SHEET_TYPE
           
static java.lang.String SHEETS_NUM
           
static java.lang.String SVG
           
static java.lang.String TABLE
           
static java.lang.String TITLE
           
 
Constructor Summary
WorkSheetXLSXExporter()
           
 
Method Summary
 org.apache.poi.ss.usermodel.CellStyle buildHeaderTitleCellStyle(org.apache.poi.ss.usermodel.Sheet sheet)
           
static java.io.File createJPGImage(org.json.JSONObject content)
           
 void designTableInWorksheet(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.usermodel.Workbook wb, org.apache.poi.ss.usermodel.CreationHelper createHelper, it.eng.spagobi.tools.dataset.common.datastore.IDataStore dataStore, int startRow)
           
 int getImageType(java.lang.String imgNameUpperCase)
           
 java.util.List<java.lang.String> getJsonVisibleSelectFields(org.json.JSONObject paramsJSON)
           
 org.json.JSONObject getOptionalUserFilters(org.json.JSONObject paramsJSON)
           
 int setFooter(org.apache.poi.xssf.usermodel.XSSFSheet sheet, org.json.JSONObject footer, org.apache.poi.ss.usermodel.CreationHelper createHelper, org.apache.poi.xssf.usermodel.XSSFWorkbook wb, org.apache.poi.xssf.usermodel.XSSFDrawing patriarch, int sheetRow)
           
 int setHeader(org.apache.poi.xssf.usermodel.XSSFSheet sheet, org.json.JSONObject header, org.apache.poi.ss.usermodel.CreationHelper createHelper, org.apache.poi.xssf.usermodel.XSSFWorkbook wb, org.apache.poi.xssf.usermodel.XSSFDrawing patriarch, int sheetRow)
           
 void setImageIntoWorkSheet(org.apache.poi.xssf.usermodel.XSSFWorkbook wb, org.apache.poi.xssf.usermodel.XSSFDrawing drawing, java.io.File f, int col, int colend, int sheetRow, int height, int imgType)
           
static void transformSVGIntoJPEG(java.io.InputStream inputStream, java.io.OutputStream outputStream)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

public static transient org.apache.log4j.Logger logger
Logger component.


CROSSTAB_JSON_DESCENDANTS_NUMBER

public static final java.lang.String CROSSTAB_JSON_DESCENDANTS_NUMBER
See Also:
Constant Field Values

SHEETS_NUM

public static final java.lang.String SHEETS_NUM
See Also:
Constant Field Values

EXPORTED_SHEETS

public static final java.lang.String EXPORTED_SHEETS
See Also:
Constant Field Values

OUTPUT_FORMAT_JPEG

public static java.lang.String OUTPUT_FORMAT_JPEG

HEADER

public static final java.lang.String HEADER
See Also:
Constant Field Values

FOOTER

public static final java.lang.String FOOTER
See Also:
Constant Field Values

CONTENT

public static final java.lang.String CONTENT
See Also:
Constant Field Values

SHEET_TYPE

public static final java.lang.String SHEET_TYPE
See Also:
Constant Field Values

CHART

public static final java.lang.String CHART
See Also:
Constant Field Values

CROSSTAB

public static final java.lang.String CROSSTAB
See Also:
Constant Field Values

TABLE

public static final java.lang.String TABLE
See Also:
Constant Field Values

SVG

public static final java.lang.String SVG
See Also:
Constant Field Values

POSITION

public static final java.lang.String POSITION
See Also:
Constant Field Values

TITLE

public static final java.lang.String TITLE
See Also:
Constant Field Values

IMG

public static final java.lang.String IMG
See Also:
Constant Field Values

CENTER

public static final java.lang.String CENTER
See Also:
Constant Field Values

RIGHT

public static final java.lang.String RIGHT
See Also:
Constant Field Values

LEFT

public static final java.lang.String LEFT
See Also:
Constant Field Values
Constructor Detail

WorkSheetXLSXExporter

public WorkSheetXLSXExporter()
Method Detail

getOptionalUserFilters

public org.json.JSONObject getOptionalUserFilters(org.json.JSONObject paramsJSON)
                                           throws org.json.JSONException
Throws:
org.json.JSONException

getJsonVisibleSelectFields

public java.util.List<java.lang.String> getJsonVisibleSelectFields(org.json.JSONObject paramsJSON)
                                                            throws org.json.JSONException
Throws:
org.json.JSONException

designTableInWorksheet

public void designTableInWorksheet(org.apache.poi.ss.usermodel.Sheet sheet,
                                   org.apache.poi.ss.usermodel.Workbook wb,
                                   org.apache.poi.ss.usermodel.CreationHelper createHelper,
                                   it.eng.spagobi.tools.dataset.common.datastore.IDataStore dataStore,
                                   int startRow)
                            throws it.eng.qbe.serializer.SerializationException,
                                   org.json.JSONException
Throws:
it.eng.qbe.serializer.SerializationException
org.json.JSONException

setHeader

public int setHeader(org.apache.poi.xssf.usermodel.XSSFSheet sheet,
                     org.json.JSONObject header,
                     org.apache.poi.ss.usermodel.CreationHelper createHelper,
                     org.apache.poi.xssf.usermodel.XSSFWorkbook wb,
                     org.apache.poi.xssf.usermodel.XSSFDrawing patriarch,
                     int sheetRow)
              throws org.json.JSONException,
                     java.io.IOException
Throws:
org.json.JSONException
java.io.IOException

setFooter

public int setFooter(org.apache.poi.xssf.usermodel.XSSFSheet sheet,
                     org.json.JSONObject footer,
                     org.apache.poi.ss.usermodel.CreationHelper createHelper,
                     org.apache.poi.xssf.usermodel.XSSFWorkbook wb,
                     org.apache.poi.xssf.usermodel.XSSFDrawing patriarch,
                     int sheetRow)
              throws org.json.JSONException,
                     java.io.IOException
Throws:
org.json.JSONException
java.io.IOException

getImageType

public int getImageType(java.lang.String imgNameUpperCase)

buildHeaderTitleCellStyle

public org.apache.poi.ss.usermodel.CellStyle buildHeaderTitleCellStyle(org.apache.poi.ss.usermodel.Sheet sheet)

setImageIntoWorkSheet

public void setImageIntoWorkSheet(org.apache.poi.xssf.usermodel.XSSFWorkbook wb,
                                  org.apache.poi.xssf.usermodel.XSSFDrawing drawing,
                                  java.io.File f,
                                  int col,
                                  int colend,
                                  int sheetRow,
                                  int height,
                                  int imgType)
                           throws java.io.IOException
Throws:
java.io.IOException

createJPGImage

public static java.io.File createJPGImage(org.json.JSONObject content)

transformSVGIntoJPEG

public static void transformSVGIntoJPEG(java.io.InputStream inputStream,
                                        java.io.OutputStream outputStream)