Package net.sf.jasperreports.poi.data
Class AbstractPoiXlsDataSource
java.lang.Object
net.sf.jasperreports.engine.data.JRAbstractTextDataSource
net.sf.jasperreports.engine.data.AbstractXlsDataSource
net.sf.jasperreports.poi.data.AbstractPoiXlsDataSource
- All Implemented Interfaces:
JRDataSource,JRRewindableDataSource
- Direct Known Subclasses:
ExcelDataSource,JRXlsxDataSource,XlsDataSource
This data source implementation reads an XLSX or XLS 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 or XLS file.
- Author:
- Sanda Zaharia (shertage@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
ConstructorsConstructorDescriptionAbstractPoiXlsDataSource(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.AbstractPoiXlsDataSource(InputStream is, boolean closeInputStream) Creates a data source instance from an XLSX or XLS data input stream.AbstractPoiXlsDataSource(String location) AbstractPoiXlsDataSource(JasperReportsContext jasperReportsContext, String location) Creates a data source instance that reads XLSX or XLS data from a given location.AbstractPoiXlsDataSource(RepositoryContext context, String location) AbstractPoiXlsDataSource(org.apache.poi.ss.usermodel.Workbook workbook) Creates a data source instance from a workbook. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidclose()Closes the reader.getFieldFormatPattern(JRField jrField) getFieldValue(JRField jrField) getStringFieldValue(JRField jrField) protected abstract org.apache.poi.ss.usermodel.Workbookvoidbooleannext()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
-
AbstractPoiXlsDataSource
public AbstractPoiXlsDataSource(org.apache.poi.ss.usermodel.Workbook workbook) Creates a data source instance from a workbook.- Parameters:
workbook- the workbook
-
AbstractPoiXlsDataSource
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
-
AbstractPoiXlsDataSource
public AbstractPoiXlsDataSource(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
-
AbstractPoiXlsDataSource
Creates a data source instance from an XLSX or XLS file.- Parameters:
file- a file containing XLSX or XLS data- Throws:
JRExceptionIOException
-
AbstractPoiXlsDataSource
public AbstractPoiXlsDataSource(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
-
AbstractPoiXlsDataSource
public AbstractPoiXlsDataSource(RepositoryContext context, String location) throws JRException, IOException - Throws:
JRExceptionIOException
-
AbstractPoiXlsDataSource
- Throws:
JRExceptionIOException- See Also:
-
-
Method Details
-
loadWorkbook
protected abstract org.apache.poi.ss.usermodel.Workbook loadWorkbook(InputStream is) throws IOException - Throws:
IOException
-
next
- Throws:
JRException
-
moveFirst
public void moveFirst() -
getFieldValue
- 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
-