保存mysql查询从PHP网页的Excel文件

我有一个MySQL数据库中的表。 我想做什么,是在一个PHP页面,运行一个select语句,并输出结果到一个Excel文件。

我已经看过不less教程,并尝试过,但是这些将网页的内容输出到excel文件中。 我只想要mysql表格数据和标题。

有没有办法做到这一点?

您可以使用其中一个可用的PHP库。 一 , 二

有一件事情是非常快速的发展,但不像使用图书馆那样整洁:

  1. 执行你的MySQL查询
  2. 用结果创build一个HTML表格
  3. 将响应的内容types设置为: application/vnd.ms-excel

在大多数浏览器中,使用该页面将在Excel中以电子表格的forms打开HTML表格。 您可以使用其他HTTP标头来为该文件build议文件名称。

我已经使用PHPExcel很长一段时间了,我必须说,如果你可以阅读文档,使用它非常容易。

在一个下午做了你想要的东西(阅读文档,尝试东西并敲定)

当然,你必须使用一个组件来生成一个Excel文件。 我使用这个lib:

  • Spreadsheet :: WriteExcel:用于生成Excel Spreadsheets的库
  • Copyright(C)2002 Xavier Noguer xnoguer@rezebra.com

这是一个小片段:

 header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=$filename" ); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); header("Pragma: public"); $formato1 =& $workbook->add_format(); $formato1->set_border(1); $formato1->set_bg_color('white'); $formato1->set_fg_color('grey'); $formato1->set_pattern(); $formato1->set_size(10); $formato1->set_color('white'); $formato1->set_align('center'); $formato1->set_bold(); $formato2 =& $workbook->add_format(); $formato2->set_size(10); $formato2->set_border(1); $worksheet1 =& $workbook->add_worksheet('Relatório de Inscrições'); $linha = 1; //Query dos dados das inscrições recebidas $sql = "select A.Name, A.Code from Customers A order by A.Name"; $resultado = $conn ->_execute($sql); $worksheet1->write_string(0, 0, 'Name', $formato1); $worksheet1->write_string(0, 1, 'Code', $formato1); for($a = 0; $a < count($resultado); $a++) { $row = $resultado[$a]; $worksheet1->write_string($linha, 0, utf8_decode($row->Name), $formato2); $worksheet1->write_number($linha, 1, $row->Code, $formato2); $linha++; } $workbook->close();