PHPExcel在我的情况下不工作,表格没有下载


PHPExcel is not working in my case, the sheet is not downloading

我不知道我的代码到底出了什么问题,我有一个名为$data的数组,如果我把它打印到json,它包含以下内容。

[{"empid":"8197","name":"Mercolita R Merleen","deduct":2625,"rembal":null,"amount":"25000","loan_id":"100047","loan_type":"Multi-Purpose Loan","duedate":"2015-12-15"},{"empid":"8359","name":"Jerome Morcilla Vergara","deduct":2152.5,"rembal":null,"amount":"12300","loan_id":"100049","loan_type":"Multi-Purpose Loan","duedate":"2015-10-15"}]

把它放在PHPExcel方法frommarray()下面是我的代码:

$worksheet->fromArray($data,null,'A6');
$writer = new PHPExcel_Writer_Excel5($spreadsheet);
$filename='Payday for '. $payday.'.xls';
$path="/desktop/";
    header('Content-type: application/ms-excel;');
    header('Content-Disposition: attachment; filename="'.$filename.'".xls');
    $writer->save('php://output');
    $writer->stream($path);

问题是Excel文件没有下载,我点击链接后,它重定向到确切的php文件,什么也不打印。我只是打印json来查看数组的确切内容。顺便说一下,不要介意mysql查询,因为它正在工作,我只是无法下载Excel文件。

顺便说一下,这是我的href代码:
echo "<a href= '/empc/library/reports/monthlypaymentreport.php?payday=".$value."' class = 'btn btn-primary'>Generate Report</a>";

别管回显,$value变量来自循环

您的标题信息可能有问题,或者您的文件名中可能有空格。尝试用'_'(下划线)命名文件。请看下面的代码:

function excel_demo($data){
        // Here Populate your Data in Excel Sheet
        try{
            $filename = 'your_file_name.xls';
            header('Content-Type: application/vnd.ms-excel');
            header('Content-Disposition: attachment;filename="' . $filename . '"');
            header('Cache-Control: max-age=0');
            $objWriter = PHPExcel_IOFactory::createWriter($CI -> excel, 'Excel5');
            $objWriter -> save('php://output');
            return true;
        }
        catch (Exception $e)
        {
            return false;
        }
}

通过这个函数你的文件将被自动下载。