PHPExcel在其余代码执行停止后下载了吗?

时间:2019-01-09 05:08:48

标签: php phpexcel-1.8.0

我遇到类似在剩余代码未执行后下载excel表格的问题。请查看下面提到的示例代码。

        $data[]=array('EANCODE'=>6161106690015,'ItemDesc'=>'Electrical hammer mill 15hp'
       ,'UnitDesc'=>'PIECES','qty'=>10);
        $object = new PHPExcel();

        $object->setActiveSheetIndex(0);
        $object->getActiveSheet()->setCellValue('A1', "EANCODE");
        $object->getActiveSheet()->setCellValue('B1', "Item Name");
        $object->getActiveSheet()->setCellValue('C1', 'Units');
        $object->getActiveSheet()->setCellValue('D1', 'Quantity');
        $excel_row = 2;
        foreach($data as $item)
        {

            $object->getActiveSheet()->setCellValue('A'.$excel_row, $item['EANCODE']);
            $object->getActiveSheet()->setCellValue('B'.$excel_row, $item['ItemDesc']);
            $object->getActiveSheet()->setCellValue('C'.$excel_row, $item['UnitDesc']);
            $object->getActiveSheet()->setCellValue('D'.$excel_row, $item['qty']);

            $excel_row++;

        }
        $store_name='Insertion Failed Records - '. date('d-m-Y').".xlsx";
        header('Content-Type: application/vnd.openxmlformats-
        officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="'.$store_name.'');
        header('Cache-Control: max-age=0');

        $objWriter =new PHPExcel_Writer_Excel2007($object, 'Excel2007');
        $objWriter->save('php://output');

        echo "something else";
  

输出:正在下载Excel工作表,但未显示echo语句。

1 个答案:

答案 0 :(得分:0)

要将XLS工作表输出到您所在的页面上,只需确保该页面没有其他回显,打印输出即可。

据我所知,当我们在此语句中写入 $ objWriter-> save('php:// output'); 之前,我们在任何目录中创建和下载或保存文件时都会回显所有内容。文件,并在该语句之后跳过所有部分。