In PHP, exporting data into an excel file (.csv) can be achieved very easily by sending a raw HTTP header. And having a formula in cells is no brainier either (and I only found that out after searching through google and not finding any solution - hehe).
The following is a rough example of how you do it. What I am trying to do here as an example is have an excel formula in Age column to calculate the person's age automatically.
header('Content-Type: application/csv');
header('Content-Disposition: inline; filename="report.csv"');
// print column titles
echo 'Name,Year born,Age' . "\n";
// a full numeric representation of a year, 4 digits; eg: 2007
$year = date('Y');
// $count starts from 2 because the first row is reserved for column titles
$count = 2;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo $row['name'] . ',';
echo $row['year'] . ',';
// formula = Current year - Bx(Year born) B is the column position
echo '=' . $year . '-B' . $count;
echo "\\n";
// increment $count by 1 (same as $count = $count + 1)
$count++;
}
exit;
[tags]php, programming, csv, snippet[/tags]