PHPExcel编写器创建空白文件

PHPExcel编写器创建空白文件,php,phpexcel,Php,Phpexcel,我尝试使用phpexcelwriter创建新的excel文件 <?php set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/'); include 'Classes/PHPExcel/IOFactory.php'; include 'Classes/PHPExcel/Writer/Excel2007.php'; $inputFileName ='mak.xlsx

我尝试使用phpexcelwriter创建新的excel文件

<?php

     set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
     include 'Classes/PHPExcel/IOFactory.php';
     include 'Classes/PHPExcel/Writer/Excel2007.php';     
     $inputFileName ='mak.xlsx';

    try 
    {
         $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
         $objReader = PHPExcel_IOFactory::createReader($inputFileType);
         $objPHPExcel = $objReader -> load($inputFileName);
         $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
         $objWriter->save('MyExcel.xlsx');            
    }
    catch(Exception $e) 
    {
        die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
    }

?>
试试这个:

$sheet = $objPHPExcel->setActiveSheetIndex(0);
$sheet->setCellValue('A1','TEST');

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);

在您的示例中,$objPHPExcel为空,因此,如果编写器保存文件但为空,则会得到空文档

,问题一定是$objPHPExcel为空。我建议使用像Kint这样的调试器来检查该对象。或者快速:echo“”;变量转储($objPHPExcel);回声';(就在定义它的下面)我不建议var_转储PHPExcel对象,它是相当复杂的对象层次结构的顶部;但正如@JosFaber指出的,如果文件是空的,那是因为它是空的。。。。尝试使用工作表的
toArray()
方法读取加载文件的内容
$sheet->setCellValue('A1','TEST')-单元格地址应该是第一个参数,并且应该是字符串