Package com.veeva.vault.sdk.api.csv


package com.veeva.vault.sdk.api.csv
This package provides interfaces to manage reading and writing CSV data.

Read

The following is a simple example of reading values from a CSV String:
 
     CsvService csvService = ServiceLocator.locate(CsvService.class);

     String csvString
         = "StringColumn,NumberColumn,DateColumn\n"
         + "Row1StringValue,1,2001-02-03\n"
         + "Row2StringValue,2,2003-02-01\n";

     CsvData csvData = csvService.readCsv(csvString);

     // Get values by column index
     Row row1 = csvData.getRow(0);
     String row1String = row1.getValue(0, CsvValueType.STRING);
     BigDecimal row1Number = row1.getValue(1, CsvValueType.NUMBER);
     LocalDate row1Date = row1.getValue(2, CsvValueType.DATE);

     // Get values by column name
     Row row2 = csvData.getRow(1);
     String row2String = row2.getValueByName("StringColumn", CsvValueType.STRING);
     BigDecimal row2Number = row2.getValueByName("NumberColumn", CsvValueType.NUMBER);
     LocalDate row2Date = row2.getValueByName("DateColumn", CsvValueType.DATE);
 
 

Write

The following is a simple example of writing a CSV String:
 
     CsvService csvService = ServiceLocator.locate(CsvService.class);

     CsvWriteParameters parameters = csvService.newCsvWriteParameters()
         .setHeaders(VaultCollections.asList("StringColumn", "NumberColumn", "DateColumn"));

     CsvBuilder csvBuilder = csvService.newCsvBuilder(parameters);

     // Set a row of values using a List
     csvBuilder.addRow(VaultCollections.asList(
         "Row1StringValue",
         new BigDecimal("1"),
         LocalDate.parse("2001-02-03")
     ));

     // Set a row of values using a Row
     RowBuilder rowBuilder = csvService.newRowBuilder(csvBuilder);

     csvBuilder.addRow(rowBuilder
         .setValueByName("StringColumn", "Row1StringValue")
         .setValueByName("NumberColumn", new BigDecimal("2"))
         .setValueByName("DateColumn", LocalDate.parse("2003-02-01"))
         .build()
     );

     CsvData csvData = csvBuilder.build();
     String csvString = csvData.asString();
 
 
  • Class
    Description
    Builds CsvData.
    Represents immutable CSV data.
    The headers (column names) for CSV data.
    Parameters that define the format of the CSV being read.
    Service for reading and writing CSV data.
    Types that can be read from or written to CSV data.
    Parameters that define the format of the CSV being written.
    Line endings supported while reading/writing CSVs.
    Represents an immutable row of data in a CSV.
    Builds CSV Rows.