|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jasperreports.engine.data.JRCsvDataSource
public class JRCsvDataSource
This datasource implementation reads a CSV stream. Datasource rows are separated by a record delimiter string and fields inside a row are separated by a field delimiter character. Fields containing delimiter characters can be placed inside quotes. If fields contain quotes themselves, these are duplicated (example: "John ""Doe""" will be displayed as John "Doe").
Since CSV does not specify column names, 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 CSV file.
Constructor Summary | |
---|---|
JRCsvDataSource(java.io.File file)
Creates a datasource instance from a CSV file, using the default encoding. |
|
JRCsvDataSource(java.io.File file,
java.lang.String charsetName)
Creates a datasource instance from a CSV file, using the specified encoding. |
|
JRCsvDataSource(java.io.InputStream stream)
Creates a datasource instance from a CSV data input stream, using the default encoding. |
|
JRCsvDataSource(java.io.InputStream stream,
java.lang.String charsetName)
Creates a datasource instance from a CSV data input stream, using the specified encoding. |
|
JRCsvDataSource(java.io.Reader reader)
Creates a datasource instance from a CSV data reader. |
Method Summary | |
---|---|
void |
close()
Closes the reader. |
java.text.DateFormat |
getDateFormat()
Gets the date format that will be used to parse date fields |
char |
getFieldDelimiter()
Returns the field delimiter character. |
java.lang.Object |
getFieldValue(JRField jrField)
Gets the field value for the current position. |
java.text.NumberFormat |
getNumberFormat()
|
java.lang.String |
getRecordDelimiter()
Returns the record delimiter string. |
boolean |
next()
Tries to position the cursor on the next element in the data source. |
void |
setColumnNames(java.lang.String[] columnNames)
Specifies an array of strings representing column names matching field names in the report template |
void |
setDateFormat(java.text.DateFormat dateFormat)
Sets the desired date format to be used for parsing date fields |
void |
setFieldDelimiter(char fieldDelimiter)
Sets the field delimiter character. |
void |
setNumberFormat(java.text.NumberFormat numberFormat)
|
void |
setRecordDelimiter(java.lang.String recordDelimiter)
Sets the record delimiter string. |
void |
setUseFirstRowAsHeader(boolean useFirstRowAsHeader)
Specifies whether the first line of the CSV file should be considered a table header, containing column names matching field names in the report template |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JRCsvDataSource(java.io.InputStream stream)
stream
- an input stream containing CSV datapublic JRCsvDataSource(java.io.InputStream stream, java.lang.String charsetName) throws java.io.UnsupportedEncodingException
stream
- an input stream containing CSV datacharsetName
- the encoding to use
java.io.UnsupportedEncodingException
public JRCsvDataSource(java.io.File file) throws java.io.FileNotFoundException
file
- a file containing CSV data
java.io.FileNotFoundException
public JRCsvDataSource(java.io.File file, java.lang.String charsetName) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException
file
- a file containing CSV datacharsetName
- the encoding to use
java.io.FileNotFoundException
java.io.UnsupportedEncodingException
public JRCsvDataSource(java.io.Reader reader)
reader
- a Reader instance, for reading the streamMethod Detail |
---|
public boolean next() throws JRException
JRDataSource
next
in interface JRDataSource
JRException
- if any error occurs while trying to move to the next elementpublic java.lang.Object getFieldValue(JRField jrField) throws JRException
JRDataSource
getFieldValue
in interface JRDataSource
JRException
public java.text.DateFormat getDateFormat()
public void setDateFormat(java.text.DateFormat dateFormat)
public char getFieldDelimiter()
public void setFieldDelimiter(char fieldDelimiter)
fieldDelimiter
- public java.lang.String getRecordDelimiter()
public void setRecordDelimiter(java.lang.String recordDelimiter)
recordDelimiter
- public void setColumnNames(java.lang.String[] columnNames)
public void setUseFirstRowAsHeader(boolean useFirstRowAsHeader)
public void close()
public java.text.NumberFormat getNumberFormat()
public void setNumberFormat(java.text.NumberFormat numberFormat)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |