如何从MySQL导出到我的PHP网站的Excel文件?

我正在显示一个数据表格:

[Name] [Tel] [Email] [checkbox] Name 1 000 1@name.com Name 2 000 2@name.com (checked) Name 3 000 3@name.com (checked) 

(button在XLS中检查)

我想在这里实现的是创build这个button,这将允许用户下载XLS文件中的所有检查的条目?

如果一个CSV文件会做(可以打开/编辑/保存在Excel中),你可以使用这样的事情:

 foreach ($thing as $val) { if($val['checked']) { $csv_output .= "\"" . $val['name'] . "\",\"" . $val['tel'] . "\",\"" . $val['email'] . "\"\n"; } } header("Content-type: application/vnd.ms-excel"); header("Content-disposition: filename=" . $filename . "-" . date("Ymd") . ".csv"); print $csv_output;die; 

其中$ csv_output是以CSV格式格式化的string。

如果你想保存文件,你可以使用PHP函数fputcsv

当然,只有解决scheme的一部分,但PHP模块Spreadsheet Excel Writer将允许您输出Excel电子表格。

输出一个普通的HTML页面最适合我。 Excel解释包括CSS的格式。 代码保持可读性。

 <?php $countries = Array( Array('name' => 'France', 'capital' => 'Paris'), Array('name' => 'Germany', 'capital' => 'Berlin'), Array('name' => 'Switzerland', 'capital' => 'Berne'), ); // make the browser open it in Excel header("Content-type: application/vnd.ms-excel"); header("Content-disposition: filename=countries.xls"); ?> <html> <head> <style type="text/css"> td { border: 1px solid blue } </style> </head> <body> <table> <tr> <th>Country</th> <th>Capital</th> </tr> <? foreach ($countries as $country): ?> <tr> <td><?=$country['name'] ?></td> <td><?=$country['capital'] ?></td> </tr> <? endforeach; ?> </table> </body> </html> 

PHPExcel是一个用于在PHP中编写Excel文件的好库。