无法打开由PHPReport和PHPExcel生成的文件

无法打开由PHPReport和PHPExcel生成的文件,php,mysql,xampp,Php,Mysql,Xampp,我已将PHPReport库内容与PHPExcel库内容一起使用。我正在使用Xampp在macbook上本地创建网站。我编写了以下代码来获取数据并生成excel工作表: public function fetchReportData($newStartDate, $newEndDate){ if ($this->getDBConnection()) { $q = "select * from PMA where request_date between '".$n

我已将PHPReport库内容与PHPExcel库内容一起使用。我正在使用Xampp在macbook上本地创建网站。我编写了以下代码来获取数据并生成excel工作表:

 public function fetchReportData($newStartDate, $newEndDate){
    if ($this->getDBConnection()) {
         $q = "select * from PMA where request_date between '".$newStartDate."' and '".$newEndDate ."'";
         $r = mysqli_query($this->dbc, $q);
        if ($r) {
            $row_count = $r->num_rows;
            if ($row_count == 0) {
                echo '<div align="left">'
                . '<b><font color="red">* </font>No requests were found in this period</b></div>';
            } else {
                $data = array();
                while ($row = mysqli_fetch_array($r)) {
                   $desc = $this->returnDesc($row[0]);
                   $requestId = $this->getNormalReqID($row[0]);
                   $this->get($requestId);
                   $username = $this->getUserName($this->requestor_id);
                   $srv_id =  $this->getSRVId($row[0]);
                   $this->getSRV($srv_id);
                   $srv_date = date("d-m-Y", strtotime($this->srv_date));
                   $srv = 'SRV dtd '.$srv_date;
                   if($this->srv_remarks == null)
                   {
                       $remark = $srv;
                   }
                   else
                   {
                       $remark = $this->srv_remarks;
                   }
                   $data[] =
                    array("Date" => $row[2], "Originator" => $username, "Material No" => $this->material_number,
                        "Description" => $desc, "Quantity" => $row[5], "Order Number" => $this->pm_order_number,
                        "Request Number" => $row[7], "Gate Pass No"=> $row[10], "Gate Pass Date"=> $row[14],
                        "SRV/Date" => $srv, "Received Qty" => $row[11], "Remarks" => $remark)
                       ;

                }
                include_once 'PHPReport.php';
                $R=new PHPReport();
                    $R->load(array(
                        'id'=>'product',
                        'header'=>array(
                            'Date'=>'Date', 'Originator' => 'Originator', 'Material No' => 'Material No',
                        'Description' =>  'Description' , 'Quantity' => 'Quantity', 'Order Number' => 'Order Number',
                        'Request Number' => 'Request Number', 'Gate Pass No' => 'Gate Pass No', 'Gate Pass Date'=> 'Gate Pass Date',
                        'SRV/Date' => 'SRV/Date' , 'Received Qty' => 'Received Qty', 'Remarks' => 'Remarks'
                     ),
                'footer'=>array(
                'Date'=>'', 'Originator' => '', 'Material No' => '',
                        'Description' =>  '' , 'Quantity' => '', 'Order Number' => '',
                        'Request Number' => '', 'Gate Pass No' => '', 'Gate Pass Date'=> '',
                        'SRV/Date' => '' , 'Received Qty' => '', 'Remarks' => ''

            ),

        'data'=> $data

        )
    );

echo $R->render('excel');




            }
    }
    }
}
公共函数fetchReportData($newStartDate,$newEndDate){
如果($this->getDBConnection()){
$q=“从PMA中选择*,其中请求日期介于“.$newStartDate.”和“.$newEndDate.””之间;
$r=mysqli\u查询($this->dbc,$q);
如果($r){
$row\u count=$r->num\u行;
如果($row\u count==0){
回声“
“*在此期间未发现任何请求”;
}否则{
$data=array();
while($row=mysqli\u fetch\u数组($r)){
$desc=$this->returnDesc($row[0]);
$requestId=$this->getNormalReqID($row[0]);
$this->get($requestId);
$username=$this->getUserName($this->requestor\u id);
$srv_id=$this->getSRVId($row[0]);
$this->getSRV($srv\u id);
$srv_date=date(“d-m-Y”,strotime($this->srv_date));
$srv='srv dtd'。$srv\U日期;
如果($this->srv_备注==null)
{
$remark=$srv;
}
其他的
{
$remark=$this->srv_备注;
}
$data[]=
数组(“日期”=>$行[2],“发起人”=>$用户名,“物料编号”=>$此->物料编号,
“说明”=>$desc,“数量”=>$row[5],“订单号”=>$this->pm\u订单号,
“申请编号”=>$行[7],“通行证编号”=>$行[10],“通行证日期”=>$行[14],
“SRV/日期”=>$SRV,“收到数量”=>$row[11],“备注”=>$remark)
;
}
包括一次“PHPReport.php”;
$R=新的PHPReport();
$R->加载(数组)(
'id'=>'product',
'header'=>数组(
“日期”=>“日期”、“发起人”=>“发起人”、“物料编号”=>“物料编号”,
“说明”=>“说明”、“数量”=>“数量”、“订单号”=>“订单号”,
‘申请编号’=>‘申请编号’、‘通行证编号’=>‘通行证编号’、‘通行证日期’=>‘通行证日期’,
“SRV/日期”=>“SRV/日期”,“接收数量”=>“接收数量”,“备注”=>“备注”
),
'页脚'=>数组(
'日期'=>'','发起人'=>'','物料编号'=>'',
'说明'=>'','数量'=>'','订单号'=>'',
'申请编号'=>'','登机口通行证编号'=>'','登机口通行证日期'=>'',
'SRV/日期'=>'','接收数量'=>'','备注'=>''
),
“数据”=>$data
)
);
echo$R->render('excel');
}
}
}
}
它在调用代码时没有显示任何错误,并且生成了xlsx工作表,但我无法打开该文件。当我尝试打开工作表时,出现以下错误:

格式或文件扩展名无效。确认文件未损坏,且文件扩展名与文件格式匹配


在尝试将库PHP创建的PDF打开为PDF时,我遇到了相同的错误,我的macbook是否有问题?

在文本编辑器中打开文件:查找文件数据中的前导或尾随空白字符、任何BOM表标题或任何纯文本消息(如PHP错误消息)