Codeigniter 导出后在 Excel 中出现错误。消息:“继续”目标开关相当于“中断”。您的意思是使用“继续 2”吗?

问题描述 投票:0回答:1

我正在使用 Codeigniter,当我单击导出按钮时,我将下载文件,下载后,我打开 Excel 工作表,并收到以下错误。我测试了下面的代码,它在本地主机上运行。

A PHP Error was encountered
Severity: Warning
Message: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
Filename: Shared/OLE.php
Line Number: 288
Backtrace:
File: /home/olpz2euas172/public_html/test/application/libraries/PHPExcel/Autoloader.php
Line: 79
Function: _error_handler
File: /home/olpz2euas172/public_html/test/application/libraries/PHPExcel/Autoloader.php
Line: 79
Function: require
File: /home/olpz2euas172/public_html/test/application/libraries/PHPExcel/Writer/Excel5.php
Line: 169
Function: spl_autoload_call
File: /home/olpz2euas172/public_html/test/application/controllers/Report_control.php
Line: 64
Function: save
File: /home/olpz2euas172/public_html/test/index.php
Line: 315
Function: require_once

我在控制器中使用以下代码。我从查询中获得了正确的数据。

public function export_employee_list(){

  $object = new PHPExcel();
  $object->setActiveSheetIndex(0);
  $table_columns = array("Firstname","Middlename","Lastname","Mobileno","Alternet no","Email Id","Address");
  $column = 0;
  $object->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);

  foreach($table_columns as $field)
  {
   $object->getActiveSheet()->setCellValueByColumnAndRow($column, 1, $field);

   $column++;
  }
  $export_list = $this->Report_model->export_employee_list_model();
  $excel_row = 2;
  foreach($export_list as $row)
  {
   $object->getActiveSheet()->setCellValueByColumnAndRow(0, $excel_row, $row->firstname);
   $object->getActiveSheet()->setCellValueByColumnAndRow(1, $excel_row, $row->middlename);
   $object->getActiveSheet()->setCellValueByColumnAndRow(2, $excel_row, $row->lastname);
   $object->getActiveSheet()->setCellValueByColumnAndRow(3, $excel_row, $row->mobileno);
   $object->getActiveSheet()->setCellValueByColumnAndRow(4, $excel_row, $row->alternateno);
   $object->getActiveSheet()->setCellValueByColumnAndRow(5, $excel_row, $row->email_id);
   $object->getActiveSheet()->setCellValueByColumnAndRow(6, $excel_row, $row->address);

   $excel_row++;
  }

  $object_writer = PHPExcel_IOFactory::createWriter($object, 'Excel5');
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="Employee list.xls"');
        
        $object_writer->save('php://output');
        
        
 }
php codeigniter phpexcel
1个回答
0
投票

只需通过 ftp 在 ascii 编辑器(如 notepad++)中打开文件,转到错误中提到的相应行并进行更改

就你而言

_--------------------------------------

文件名:共享/OLE.php

线路号码:288

_-------------------------

继续;进入继续2;

真的就是这么简单。

© www.soinside.com 2019 - 2024. All rights reserved.