CsvDataSource

Inheritance: java.lang.Object

public class CsvDataSource

Provides access to data of a CSV file or stream to be used within a report.

To learn more, visit the LINQ Reporting Engine documentation article.

Remarks:

To access data of the corresponding file or stream while generating a report, pass an instance of this class as a data source to one of ReportingEngine. buildReport overloads.

In template documents, a CsvDataSource instance should be treated in the same way as if it was a DataTable instance. For more information, see template syntax reference(https://docs.aspose.com/display/wordsjava/Template+Syntax).

Data types of comma-separated values are determined automatically upon their string representations. So in template documents, you can work with typed values rather than just strings. The engine is capable to automatically recognize values of the following types:

  • long
  • double
  • boolean
  • java.util.Date
  • java.lang.String

Note that for automatic recognition of data types to work, string representations of comma-separated values should be formed using invariant culture settings.

To override default behavior of CSV data loading, initialize and pass a CsvDataLoadOptions instance to a constructor of this class.

Examples:

Shows how to use CSV as a data source (string).


 Document doc = new Document(getMyDir() + "Reporting engine template - CSV data destination (Java).docx");

 CsvDataLoadOptions loadOptions = new CsvDataLoadOptions(true);
 loadOptions.setDelimiter(';');
 loadOptions.setCommentChar('$');
 loadOptions.hasHeaders(true);
 loadOptions.setQuoteChar('"');

 CsvDataSource dataSource = new CsvDataSource(getMyDir() + "List of people.csv", loadOptions);
 buildReport(doc, dataSource, "persons");

 doc.save(getArtifactsDir() + "ReportingEngine.CsvDataString.docx");
 

Constructors

ConstructorDescription
CsvDataSource(String csvPath)Creates a new data source with data from a CSV file using default options for parsing CSV data.
CsvDataSource(String csvPath, CsvDataLoadOptions options)Creates a new data source with data from a CSV file using the specified options for parsing CSV data.
CsvDataSource(InputStream csvStream)Initializes a new instance of this class.
CsvDataSource(InputStream csvStream, CsvDataLoadOptions options)Initializes a new instance of this class.

CsvDataSource(String csvPath)

public CsvDataSource(String csvPath)

Creates a new data source with data from a CSV file using default options for parsing CSV data.

Parameters:

ParameterTypeDescription
csvPathjava.lang.StringThe path to the CSV file to be used as the data source.

CsvDataSource(String csvPath, CsvDataLoadOptions options)

public CsvDataSource(String csvPath, CsvDataLoadOptions options)

Creates a new data source with data from a CSV file using the specified options for parsing CSV data.

Examples:

Shows how to use CSV as a data source (string).


 Document doc = new Document(getMyDir() + "Reporting engine template - CSV data destination (Java).docx");

 CsvDataLoadOptions loadOptions = new CsvDataLoadOptions(true);
 loadOptions.setDelimiter(';');
 loadOptions.setCommentChar('$');
 loadOptions.hasHeaders(true);
 loadOptions.setQuoteChar('"');

 CsvDataSource dataSource = new CsvDataSource(getMyDir() + "List of people.csv", loadOptions);
 buildReport(doc, dataSource, "persons");

 doc.save(getArtifactsDir() + "ReportingEngine.CsvDataString.docx");
 

Parameters:

ParameterTypeDescription
csvPathjava.lang.StringThe path to the CSV file to be used as the data source.
optionsCsvDataLoadOptionsOptions for parsing the CSV data.

CsvDataSource(InputStream csvStream)

public CsvDataSource(InputStream csvStream)

Initializes a new instance of this class.

Parameters:

ParameterTypeDescription
csvStreamjava.io.InputStream

CsvDataSource(InputStream csvStream, CsvDataLoadOptions options)

public CsvDataSource(InputStream csvStream, CsvDataLoadOptions options)

Initializes a new instance of this class.

Parameters:

ParameterTypeDescription
csvStreamjava.io.InputStream
optionsCsvDataLoadOptions