我正在开发一个项目,我必须通过PHP从MySQL表生成报告(最好是csv格式)。
答案 0 :(得分:1)
header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="example.csv"');
$data = array(
'111,dsd,fdf,dddd',
'123,456,789',
'"43ddd","3ddsdsd"'
);
$fp = fopen('example.csv', 'w'); //create a example.csv file on root folder to store csv first
foreach ( $data as $line ) {
$val = explode(",", $line);
fputcsv($fp, $val);
}
fclose($fp);
使用此代码,您可以将文件写入csv。所以你可以从数据库填充数据并相应地更改代码。
答案 1 :(得分:1)
试试这个
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
$ list是一个变量,您可以使用双样式数组 ==================================
或者
<?php
$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$file = fopen("contacts.csv","w");
foreach ($list as $line)
{
fputcsv($file,split(',',$line));
}
fclose($file); ?>
它们基本上是相同的,只是输出不同。