Sample code for 30+ languages & platforms
Dart

CSV Set Column Name

Demonstrates how to set the name of a column in a CSV.

Chilkat Dart Downloads

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

void main() {
  // We have the following CSV...

  // 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());

  // Get each column name..
  var numCols = csv.numColumns;
  var i = 0;
  while (i < numCols) {
    print(csv.getColumnName(i));
    i++;
  }

  print('---');

  // Change the "numEmps" column name to "employeeCount"
  csv.setColumnName(2, 'employeeCount');

  numCols = csv.numColumns;
  i = 0;
  while (i < numCols) {
    print(csv.getColumnName(i));
    i++;
  }

  // Use the updated column name...
  print('---');
  print(csv.getCellByName(3, 'employeeCount'));

  // Output should be:

  // permalink
  // company
  // numEmps
  // category
  // city
  // state
  // fundedDate
  // raisedAmt
  // raisedCurrency
  // round
  // ---
  // permalink
  // company
  // employeeCount
  // category
  // city
  // state
  // fundedDate
  // raisedAmt
  // raisedCurrency
  // round
  // ---
  // 105
}