Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) CSV Append a Column with ValuesSee more CSV ExamplesAppend an additional column and initialize with a value.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Csv, StringBuilder; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; bCrlf: Boolean; sb: HCkStringBuilder; csv: HCkCsv; numColumns: Integer; numRows: Integer; columnIdx: Integer; i: Integer; begin // 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 bCrlf := True; sb := CkStringBuilder_Create(); CkStringBuilder_AppendLine(sb,'permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round',bCrlf); CkStringBuilder_AppendLine(sb,'lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b',bCrlf); CkStringBuilder_AppendLine(sb,'mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed',bCrlf); CkStringBuilder_AppendLine(sb,'flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a',bCrlf); CkStringBuilder_AppendLine(sb,'infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a',bCrlf); CkStringBuilder_AppendLine(sb,'gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed',bCrlf); csv := CkCsv_Create(); CkCsv_putHasColumnNames(csv,True); success := CkCsv_LoadFromString(csv,CkStringBuilder__getAsString(sb)); // Show the initial CSV: Memo1.Lines.Add(CkCsv__saveToString(csv)); Memo1.Lines.Add('----'); // Now let's add a new rightmost column. numColumns := CkCsv_getNumColumns(csv); numRows := CkCsv_getNumRows(csv); // Set the column name. columnIdx := numColumns; CkCsv_SetColumnName(csv,columnIdx,'new_column'); // Add the column to each row. i := 0; while i < numRows do begin CkCsv_SetCell(csv,i,columnIdx,'newData'); i := i + 1; end; // Show the updated CSV: Memo1.Lines.Add(CkCsv__saveToString(csv)); CkStringBuilder_Dispose(sb); CkCsv_Dispose(csv); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.