PHPExcel无法从数据库生成数据

时间:2013-06-24 08:18:32

标签: php html wamp phpexcel

当我打开Excel文件消息时出现: 您尝试打开的文件'filename'.xls'的格式与文件扩展名指定的格式不同。验证文件是否已损坏,并且在打开文件之前来自受信任的来源。“

输出如下: ÐÏࡱá;þÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ &gt;¶@ d <

这是我的代码..

<?php
require_once 'database.php';

include 'PHPExcel.php';

$phpExcel = new PHPExcel();

$phpExcel->getActiveSheet()->setTitle("My Sheet");

$phpExcel->setActiveSheetIndex(0)
     ->setCellValue('A1', 'Name.')
     ->setCellValue('B1', 'Age');

$qry_table = ("SELECT * FROM MEMBERS");

$inc=2;

while($data_array = mysql_fetch_array($qry_table))
{

$name   = $data_array['Name'];

$age    = $data_array['Age'];

$$phpExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$inc, $name)
            ->setCellValue('B'.$inc, $age);
$inc++;
}

$phpExcel->setActiveSheetIndex(0);

header("Content-Type: application/vnd.ms-excel");

header("Content-Disposition: attachment; filename=\"filename.xls\"");

header("Cache-Control: max-age=0");

$objWriter = PHPExcel_IOFactory::createWriter($phpExcel, "Excel5");

$objWriter->save("php://output");
exit;

2 个答案:

答案 0 :(得分:0)

查询数据库的“mysql_query()”在哪里? 变化

$qry_table = ("SELECT * FROM MEMBERS");

$qry_table = mysql_query("SELECT * FROM MEMBERS");

//编辑: 你有一个指针参考。到一个不存在的变量 变化:

$$phpExcel->setActiveSheetIndex(0)
        ->setCellValue('A'.$inc, $name)
        ->setCellValue('B'.$inc, $age);

为:

$phpExcel->setActiveSheetIndex(0)
        ->setCellValue('A'.$inc, $name);

$phpExcel->setActiveSheetIndex(0)
        ->setCellValue('B'.$inc, $age);

答案 1 :(得分:0)

当您收到此错误时,我们始终建议您在文本编辑器中打开文件并检查前导或尾随空格(空格,制表符,换行符)或BOM标记,或明文中的任何明显的PHP错误消息文件。

尝试将文件保存到您的网络服务器,然后打开它并查看是否发生了同样的错误