从PHP网页将MySQL查询结果保存到Excel文件

3

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

我看过很多教程并试过它们,但是这些教程会将网页内容输出到Excel文件中。我只想要MySQL表格数据和标题。

有没有一种方法可以实现这个功能?

3个回答

3
您可以使用其中一个可用的PHP库来完成此操作。Onetwo
一种相对简单但不如使用库的方法是:
1. 执行您的MySQL查询。 2. 使用结果创建HTML表格。 3. 将响应的内容类型设置为:application/vnd.ms-excel
在大多数浏览器中,使用该页面将会将HTML表格以电子表格形式在Excel中打开。您可以使用其他HTTP标头为该文件建议文件名。

1

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

在一个下午内就可以完成你想要的事情(阅读文档,尝试一些东西并最终确定)


0

肯定需要使用组件来生成Excel文件。我使用这个库:

  • Spreadsheet::WriteExcel:用于生成Excel电子表格的库
  • 版权所有(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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接