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, useFirstRowAsHeaderFields 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 voidvoidclose()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.ReadableWorkbookvoidMoves back to the first element in the data source.booleannext()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, setUseFirstRowAsHeaderMethods 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:
JRExceptionIOException
-
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:
JRExceptionIOException
-
FastExcelDataSource
Creates a data source instance from an XLSX or XLS file.- Parameters:
file- a file containing XLSX or XLS data- Throws:
JRExceptionIOException
-
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:
IOExceptionJRException
-
FastExcelDataSource
public FastExcelDataSource(RepositoryContext context, String location) throws JRException, IOException - Throws:
JRExceptionIOException
-
FastExcelDataSource
- Throws:
JRExceptionIOException- See Also:
-
-
Method Details
-
loadWorkbook
protected org.dhatim.fastexcel.reader.ReadableWorkbook loadWorkbook(InputStream is) throws IOException - Throws:
IOException
-
next
Description copied from interface:JRDataSourceTries 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:JRRewindableDataSourceMoves back to the first element in the data source. -
getFieldValue
Description copied from interface:JRDataSourceGets 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:
closein classAbstractXlsDataSource
-
checkReadStarted
protected void checkReadStarted()- Specified by:
checkReadStartedin classAbstractXlsDataSource
-
getStringFieldValue
- Throws:
JRException
-
getFieldFormatPattern
- Throws:
JRException
-