Sample code for 30+ languages & platforms
Dart

CSV Append a Column with Values

See more CSV Examples

Append an additional column and initialize with a value.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // First initialize the CSV with content.  

  // permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round
  // lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b
  // mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed
  // flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a
  // infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a
  // gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed

  final bCrlf = true;
  final sb = CkStringBuilder();
  sb.appendLine('permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round', bCrlf);
  sb.appendLine('lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b', bCrlf);
  sb.appendLine('mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed', bCrlf);
  sb.appendLine('flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a', bCrlf);
  sb.appendLine('infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a', bCrlf);
  sb.appendLine('gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed', bCrlf);

  final csv = CkCsv();

  csv.hasColumnNames = true;
  csv.loadFromString(sb.getAsString());

  // Show the initial CSV:
  print(csv.saveToString());
  print('----');

  // Now let's add a new rightmost column.
  final numColumns = csv.numColumns;
  final numRows = csv.numRows;

  // Set the column name.
  final columnIdx = numColumns;
  csv.setColumnName(columnIdx, 'new_column');

  // Add the column to each row.
  var i = 0;
  while (i < numRows) {
    csv.setCell(i, columnIdx, 'newData');
    i++;
  }

  // Show the updated CSV:
  print(csv.saveToString());
}