Delphi DLL
Delphi DLL
CSV Insert Column
See more CSV Examples
Insert a new column into an existing CSV.Note: This example requires Chilkat v9.5.0.89 or greater because the InsertColumn method was added in v9.5.0.89.
Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Csv;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
csv: HCkCsv;
col: Integer;
weightColumn: Integer;
begin
success := False;
csv := CkCsv_Create();
// Load the following CSV:
// Name;City;Weight
// John;Chicago;180
// Lisa;Denver;120
// Indicate that the 1st line contains column names.
CkCsv_putHasColumnNames(csv,True);
success := CkCsv_LoadFile(csv,'qa_data/csv/insertColumnTest.csv');
// We can insert a column before the 1st column.
CkCsv_InsertColumn(csv,0);
Memo1.Lines.Add(CkCsv__saveToString(csv));
// The CSV now looks like this:
// ;Name;City;Weight
// ;John;Chicago;180
// ;Lisa;Denver;120
// Set the cells in column 0.
col := 0;
CkCsv_SetColumnName(csv,col,'id');
CkCsv_SetCell(csv,0,col,'100');
CkCsv_SetCell(csv,1,col,'101');
Memo1.Lines.Add(CkCsv__saveToString(csv));
// We now have:
// id;Name;City;Weight
// 100;John;Chicago;180
// 101;Lisa;Denver;120
// Insert a new column between City and Weight
// In other words, add a new column before the Weight column.
weightColumn := CkCsv_GetIndex(csv,'Weight');
Memo1.Lines.Add('Weight Column Index = ' + IntToStr(weightColumn));
CkCsv_InsertColumn(csv,weightColumn);
Memo1.Lines.Add(CkCsv__saveToString(csv));
// We now have:
// id;Name;City;;Weight
// 100;John;Chicago;;180
// 101;Lisa;Denver;;120
// Set the cells in the new column:
CkCsv_SetColumnName(csv,weightColumn,'Height');
CkCsv_SetCell(csv,0,weightColumn,'6'' 2"');
CkCsv_SetCell(csv,1,weightColumn,'5'' 7"');
Memo1.Lines.Add(CkCsv__saveToString(csv));
// We now have:
// id;Name;City;Height;Weight
// 100;John;Chicago;"6' 2""";180
// 101;Lisa;Denver;"5' 7""";120
CkCsv_Dispose(csv);
end;