PHPExcel Excel导出在localhost和测试服务器上运行,但在生产服务器中无法正常工作

时间:2011-12-06 10:35:57

标签: php phpexcel

我导出到excel代码与我的localhost和测试服务器一起工作很大,但在生产服务器中它很疯狂。

导出的excel中的类似内容:

ÐÏࡱá;þÿ 
þÿÿÿþÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ » ÌÑB°=¼%r8X"1ÜCalibri1ܼCalibriàõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À à À à È “€ÿ’â8ÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€ÀÀÀ€€€™™ÿ™3fÿÿÌÌÿÿffÿ€€fÌÌÌÿ€ÿÿÿÿÿÿ€€€€€ÿÌÿÌÿÿÌÿÌÿÿ™™Ìÿÿ™ÌÌ™ÿÿÌ™3fÿ3ÌÌ™ÌÿÌÿ™ÿfff™–––3f3™f333™3™3f33™333…é WorksheetÁÁgæ®ü£CihazImei_NoGsm_NoKampanyaActivation_Date Fatura_Tutari Temlik_Tutari » ÌÑ*+‚€Áƒ„&ffffffæ?'ffffffæ?(è?)è?¡"dXX333333Ó?333333Ó?U} } }  }  } } } } $ } $ } $ } $ } 

$ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ } $ }   $ } !!$ } ""$ } ##$ } $$$ } %%$ } &&$ } ''$ } (($ } ))$ } **$  

我认为我的服务器配置。我找不到任何东西。它能是什么?

<?php

$rowIndex = 2;
$currentId = '';
while ($foundRows = mssql_fetch_array($rs)) {
    $colIndex = 0;
        foreach ($data_cols as $col_name) {
        $val = $foundRows[$col_name];
        $activeSheet->setCellValueByColumnAndRow($colIndex, $rowIndex, $val);
        $objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($colIndex, $rowIndex)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
        $objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($colIndex, $rowIndex)->getFill()->getStartColor()->setARGB('FFFFCC');
        $objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($colIndex, $rowIndex)->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

    ++$colIndex;}
    ++$rowIndex;


}
$objPHPExcel->setActiveSheetIndex(0);


header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="temlik.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

1 个答案:

答案 0 :(得分:1)

在下面的最后一行之前写ob_clean(),我有同样的问题得到了解决

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="temlik.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
ob_clean();
$objWriter->save('php://output');