php - PHPExcel 在剩余代码执行停止后下载?
问题描述
我遇到了一个问题,比如在剩余代码未执行后下载 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
但未显示给定语句。
解决方案
要将 XLS 表输出到您所在的页面,只需确保该页面没有其他回显、打印、输出。
据我所知,当我们在任何目录中创建和下载或保存文件时,此语句之前的所有回显内容$objWriter->save('php://output'); 写在您的文件中,并且在该语句之后,所有部分都被跳过。
推荐阅读
- javascript - React 明确不要在 html 中渲染组件
- .net-core - DOTNET_ROOT Not Recognised After Raspbian Reboot
- regex - RegEx to match all sets of items that have part of specific value
- xamarin.forms - Xamarin Forms SFDataGrid 绑定问题
- python - 使用python计算一维数组和nD数组之间的距离
- javascript - APIRTC 离开对话不允许重新进入
- java - 无法更改snackBar 中的变量值
- ios - 如何使用 SwiftUI 使 MKScaleView 在初始地图加载时正确显示
- bash - 递归查找和复制特定的 mimetype 文件
- python - 在请求中使用局部变量