Sample code for 30+ languages & platforms
PowerBuilder

CSV Append a Column with Values

See more CSV Examples

Append an additional column and initialize with a value.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
long li_Success
long li_BCrlf
oleobject loo_Sb
oleobject loo_Csv
long li_NumColumns
long li_NumRows
long li_ColumnIdx
long i

li_Success = 0

//  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

li_BCrlf = 1
loo_Sb = create oleobject
li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
    destroy loo_Sb
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Sb.AppendLine("permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round",li_BCrlf)
loo_Sb.AppendLine("lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b",li_BCrlf)
loo_Sb.AppendLine("mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed",li_BCrlf)
loo_Sb.AppendLine("flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a",li_BCrlf)
loo_Sb.AppendLine("infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a",li_BCrlf)
loo_Sb.AppendLine("gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed",li_BCrlf)

loo_Csv = create oleobject
li_rc = loo_Csv.ConnectToNewObject("Chilkat.Csv")

loo_Csv.HasColumnNames = 1
li_Success = loo_Csv.LoadFromString(loo_Sb.GetAsString())

//  Show the initial CSV:
Write-Debug loo_Csv.SaveToString()
Write-Debug "----"

//  Now let's add a new rightmost column.
li_NumColumns = loo_Csv.NumColumns
li_NumRows = loo_Csv.NumRows

//  Set the column name.
li_ColumnIdx = li_NumColumns
loo_Csv.SetColumnName(li_ColumnIdx,"new_column")

//  Add the column to each row.
i = 0
do while i < li_NumRows
    loo_Csv.SetCell(i,li_ColumnIdx,"newData")
    i = i + 1
loop

//  Show the updated CSV:
Write-Debug loo_Csv.SaveToString()


destroy loo_Sb
destroy loo_Csv