在另一个类中使用对象PHPexcel会在excel文件中产生错误的输出

在另一个类中使用对象PHPexcel会在excel文件中产生错误的输出,php,phpexcel,Php,Phpexcel,Iam使用以下代码生成excel 在excel.php文件中,如下调用: EyfsTrackerExcel::excelp(); excelclass.php class EyfsTrackerExcel { public function excelp() { error_reporting(E_ALL); ini_set('display_errors', FALSE); ini_set('display_sta

Iam使用以下代码生成excel

在excel.php文件中,如下调用:

EyfsTrackerExcel::excelp();
excelclass.php

class EyfsTrackerExcel
{
    public function excelp()
    {       
        error_reporting(E_ALL);
        ini_set('display_errors', FALSE);
        ini_set('display_startup_errors', FALSE);
        date_default_timezone_set('Europe/London');

        if (PHP_SAPI == 'cli')
            die('This example should only be run from a Web Browser');

        /** Include PHPExcel */
        //require_once  'phpexcel/phpexcel.php';
        require_once dirname(__FILE__) . '/../phpexcel/PHPExcel.php';


        // Create new PHPExcel object
        $objPHPExcel_new = new PHPExcel();

        // Set document properties
        $objPHPExcel_new->getProperties()->setCreator("Maarten Balliauw")
        ->setLastModifiedBy("Maarten Balliauw")
        ->setTitle("Office 2007 XLSX Test Document")
        ->setSubject("Office 2007 XLSX Test Document")
        ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
        ->setKeywords("office 2007 openxml php")
        ->setCategory("Test result file");


        // /$objPHPExcel_new->mergeCells(('A1:B1');
        // Add some data
        //$objPHPExcel_new->setActiveSheetIndex(0)->mergeCells('A1:A2:A3');
        $objPHPExcel_new->setActiveSheetIndex(0)
        ->setCellValue('A1', 'Hello')
        ->setCellValue('B2', 'world!')
        ->setCellValue('C1', 'Hello')
        ->setCellValue('D2', 'world!');



        // Miscellaneous glyphs, UTF-8
        $objPHPExcel_new->setActiveSheetIndex(0)
        ->setCellValue('A4', 'Miscellaneous glyphs')
        ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');

        // Rename worksheet
        $objPHPExcel_new->getActiveSheet()->setTitle('Simple');

        $objWorkSheet = $objPHPExcel_new->createSheet(1);
        // Set active sheet index to the first sheet, so Excel opens this as the first sheet
        $objPHPExcel_new->setActiveSheetIndex(0);


        // Redirect output to a client’s web browser (Excel5)
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="01simple.xls"');
        header('Cache-Control: max-age=0');
        // If you're serving to IE 9, then the following may be needed
        header('Cache-Control: max-age=1');

        // If you're serving to IE over SSL, then the following may be needed
        header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
        header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
        header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
        header ('Pragma: public'); // HTTP/1.0

        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel_new, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }
}
我在excel文件中得到错误的输出,如下面的屏幕截图所示,它在excel工作表中打印标题、说明等。


如何解决此问题。请帮助

在文本编辑器中打开文件,并查找前导或尾随空白字符,即文件顶部的BOM表标记,或者任何纯文本消息,如PHP错误消息或文件中的文本:框架或脚本中的其他内容可能正在向浏览器发送额外的输出Thank you@MarkBaker,现在可以了