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
integer li_Success
integer li_BCrlf
oleobject loo_Sb
oleobject loo_Csv
integer li_NumColumns
integer li_NumRows
integer li_ColumnIdx
integer 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