Package net.sf.jasperreports.fastexcel
Class FastExcelDataSource
java.lang.Object
net.sf.jasperreports.engine.data.JRAbstractTextDataSource
net.sf.jasperreports.engine.data.AbstractXlsDataSource
net.sf.jasperreports.fastexcel.FastExcelDataSource
- All Implemented Interfaces:
JRDataSource
,JRRewindableDataSource
This data source implementation reads an XLSX stream.
The default naming convention is to name report fields COLUMN_x and map each column with the field found at index x in each row (these indices start with 0). To avoid this situation, users can either specify a collection of column names or set a flag to read the column names from the first row of the XLSX file.
- Author:
- Teodor Danciu (teodord@users.sourceforge.net)
-
Field Summary
Fields inherited from class net.sf.jasperreports.engine.data.AbstractXlsDataSource
columnIndexMap, columnNames, dateFormat, EXCEPTION_MESSAGE_KEY_XLS_COLUMN_NAMES_MISMATCH_COLUMN_INDEXES, EXCEPTION_MESSAGE_KEY_XLS_FIELD_VALUE_NOT_RETRIEVED, EXCEPTION_MESSAGE_KEY_XLS_SHEET_INDEX_OUT_OF_RANGE, EXCEPTION_MESSAGE_KEY_XLS_SHEET_NOT_FOUND, INDEXED_COLUMN_PREFIX, numberFormat, PROPERTY_FIELD_COLUMN_INDEX, PROPERTY_FIELD_COLUMN_NAME, sheetSelection, useFirstRowAsHeader
Fields inherited from class net.sf.jasperreports.engine.data.JRAbstractTextDataSource
EXCEPTION_MESSAGE_KEY_CANNOT_CONVERT_FIELD_TYPE, EXCEPTION_MESSAGE_KEY_CANNOT_MODIFY_PROPERTIES_AFTER_START, EXCEPTION_MESSAGE_KEY_NODE_NOT_AVAILABLE, EXCEPTION_MESSAGE_KEY_NULL_DOCUMENT, EXCEPTION_MESSAGE_KEY_NULL_SELECT_EXPRESSION, EXCEPTION_MESSAGE_KEY_UNKNOWN_COLUMN_NAME, EXCEPTION_MESSAGE_KEY_UNKNOWN_NUMBER_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionFastExcelDataSource
(File file) Creates a data source instance from an XLSX or XLS file.Creates a data source instance from an XLSX or XLS data input stream.FastExcelDataSource
(InputStream is, boolean closeInputStream) Creates a data source instance from an XLSX or XLS data input stream.FastExcelDataSource
(String location) FastExcelDataSource
(JasperReportsContext jasperReportsContext, String location) Creates a data source instance that reads XLSX or XLS data from a given location.FastExcelDataSource
(RepositoryContext context, String location) FastExcelDataSource
(org.dhatim.fastexcel.reader.ReadableWorkbook workbook) Creates a data source instance from a workbook. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
void
close()
Closes the reader.getFieldFormatPattern
(JRField jrField) getFieldValue
(JRField jrField) Gets the field value for the current position.getStringFieldValue
(JRField jrField) protected org.dhatim.fastexcel.reader.ReadableWorkbook
void
Moves back to the first element in the data source.boolean
next()
Tries to position the cursor on the next element in the data source.Methods inherited from class net.sf.jasperreports.engine.data.AbstractXlsDataSource
getColumnIndex, getColumnNames, getDateFormat, getNumberFormat, getSheetSelection, setColumnIndexes, setColumnNames, setColumnNames, setDateFormat, setNumberFormat, setSheetSelection, setUseFirstRowAsHeader
Methods inherited from class net.sf.jasperreports.engine.data.JRAbstractTextDataSource
convertNumber, convertStringValue, getConvertBean, getDatePattern, getLocale, getNumberPattern, getTextAttributes, getTimeZone, setDatePattern, setLocale, setLocale, setNumberPattern, setTextAttributes, setTextAttributes, setTimeZone, setTimeZone
-
Constructor Details
-
FastExcelDataSource
public FastExcelDataSource(org.dhatim.fastexcel.reader.ReadableWorkbook workbook) Creates a data source instance from a workbook.- Parameters:
workbook
- the workbook
-
FastExcelDataSource
Creates a data source instance from an XLSX or XLS data input stream.- Parameters:
is
- an input stream containing XLSX or XLS data- Throws:
JRException
IOException
-
FastExcelDataSource
public FastExcelDataSource(InputStream is, boolean closeInputStream) throws JRException, IOException Creates a data source instance from an XLSX or XLS data input stream.- Parameters:
is
- an input stream containing XLSX or XLS data- Throws:
JRException
IOException
-
FastExcelDataSource
Creates a data source instance from an XLSX or XLS file.- Parameters:
file
- a file containing XLSX or XLS data- Throws:
JRException
IOException
-
FastExcelDataSource
public FastExcelDataSource(JasperReportsContext jasperReportsContext, String location) throws JRException, IOException Creates a data source instance that reads XLSX or XLS data from a given location.- Parameters:
jasperReportsContext
- the JasperReportsContextlocation
- a String representing XLSX or XLS data source- Throws:
IOException
JRException
-
FastExcelDataSource
public FastExcelDataSource(RepositoryContext context, String location) throws JRException, IOException - Throws:
JRException
IOException
-
FastExcelDataSource
- Throws:
JRException
IOException
- See Also:
-
-
Method Details
-
loadWorkbook
protected org.dhatim.fastexcel.reader.ReadableWorkbook loadWorkbook(InputStream is) throws IOException - Throws:
IOException
-
next
Description copied from interface:JRDataSource
Tries to position the cursor on the next element in the data source.- Returns:
- true if there is a next record, false otherwise
- Throws:
JRException
- if any error occurs while trying to move to the next element
-
moveFirst
public void moveFirst()Description copied from interface:JRRewindableDataSource
Moves back to the first element in the data source. -
getFieldValue
Description copied from interface:JRDataSource
Gets the field value for the current position.- Returns:
- an object containing the field value. The object type must be the field object type.
- Throws:
JRException
-
close
public void close()Closes the reader. Users of this data source should close it after usage.- Specified by:
close
in classAbstractXlsDataSource
-
checkReadStarted
protected void checkReadStarted()- Specified by:
checkReadStarted
in classAbstractXlsDataSource
-
getStringFieldValue
- Throws:
JRException
-
getFieldFormatPattern
- Throws:
JRException
-