DataFlex
DataFlex
CSV Set Cell by Index or Name
Demonstrates how to update the value of a CSV cell, or add new cells.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Boolean iBCrlf
Handle hoSb
Handle hoCsv
Integer iRow_idx
String sTemp1
Move False To iSuccess
// 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
Move True To iBCrlf
Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
If (Not(IsComObjectCreated(hoSb))) Begin
Send CreateComObject of hoSb
End
Get ComAppendLine Of hoSb "permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round" iBCrlf To iSuccess
Get ComAppendLine Of hoSb "lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b" iBCrlf To iSuccess
Get ComAppendLine Of hoSb "mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed" iBCrlf To iSuccess
Get ComAppendLine Of hoSb "flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a" iBCrlf To iSuccess
Get ComAppendLine Of hoSb "infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a" iBCrlf To iSuccess
Get ComAppendLine Of hoSb "gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed" iBCrlf To iSuccess
Get Create (RefClass(cComChilkatCsv)) To hoCsv
If (Not(IsComObjectCreated(hoCsv))) Begin
Send CreateComObject of hoCsv
End
Set ComHasColumnNames Of hoCsv To True
Get ComGetAsString Of hoSb To sTemp1
Get ComLoadFromString Of hoCsv sTemp1 To iSuccess
// Update the city "Gilbert" to "Tuscon".
Get ComSetCell Of hoCsv 3 4 "Tuscon" To iSuccess
// Add a new row.
Get ComNumRows Of hoCsv To iRow_idx
Get ComSetCellByName Of hoCsv iRow_idx "permalink" "yelp" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "company" "Yelp" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "numEmps" "" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "category" "web" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "city" "San Francisco" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "state" "CA" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "fundedDate" "1-Jul-04" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "raisedAmt" "1000000" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "raisedCurrency" "USD" To iSuccess
Get ComSetCellByName Of hoCsv iRow_idx "round" "a" To iSuccess
// Show the updated CSV:
Get ComSaveToString Of hoCsv To sTemp1
Showln sTemp1
// Output should be:
// 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,Tuscon,AZ,1-Oct-07,9000000,USD,a
// gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed
// yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a
End_Procedure