PHP Extension
PHP Extension
CSV Set Cell by Index or Name
Demonstrates how to update the value of a CSV cell, or add new cells.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// 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
$bCrlf = true;
$sb = new CkStringBuilder();
$sb->AppendLine('permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round',$bCrlf);
$sb->AppendLine('lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b',$bCrlf);
$sb->AppendLine('mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed',$bCrlf);
$sb->AppendLine('flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a',$bCrlf);
$sb->AppendLine('infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a',$bCrlf);
$sb->AppendLine('gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed',$bCrlf);
$csv = new CkCsv();
$csv->put_HasColumnNames(true);
$success = $csv->LoadFromString($sb->getAsString());
// Update the city "Gilbert" to "Tuscon".
$csv->SetCell(3,4,'Tuscon');
// Add a new row.
$row_idx = $csv->get_NumRows();
$csv->SetCellByName($row_idx,'permalink','yelp');
$csv->SetCellByName($row_idx,'company','Yelp');
$csv->SetCellByName($row_idx,'numEmps','');
$csv->SetCellByName($row_idx,'category','web');
$csv->SetCellByName($row_idx,'city','San Francisco');
$csv->SetCellByName($row_idx,'state','CA');
$csv->SetCellByName($row_idx,'fundedDate','1-Jul-04');
$csv->SetCellByName($row_idx,'raisedAmt','1000000');
$csv->SetCellByName($row_idx,'raisedCurrency','USD');
$csv->SetCellByName($row_idx,'round','a');
// Show the updated CSV:
print $csv->saveToString() . "\n";
// 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
?>