【问题标题】:exporting data to excel in codeigniter usingt php excel library error使用phpexcel库错误将数据导出到codeigniter中的excel
【发布时间】:2021-09-04 10:53:55
【问题描述】:

我正在尝试使用 php excel 库将数据从我的表导出到 excel 文件,我的控制器如下所示:

public function exportexcel() {
    $this->load->model("excel_import_model");

    $var = $this->excel_import_model->excelexport();
    $this->load->library('excel');

    $object = new PHPExcel();
    $object->setActiveSheetIndex(0);

    $table_columns = array("Name", "Address", "Gender", "Designation", "Age");

    $column = 0;

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

    $employee_data = $this->excel_import_model->excelexport();

    $excel_row = 2;

    foreach($employee_data as $row) {
        $object->getActiveSheet()->setCellValueByColumnAndRow(0, $excel_row, $row->sendername);
        $object->getActiveSheet()->setCellValueByColumnAndRow(1, $excel_row, $row->sendercity);
        $object->getActiveSheet()->setCellValueByColumnAndRow(2, $excel_row, $row->senderphone);
        $object->getActiveSheet()->setCellValueByColumnAndRow(3, $excel_row, $row->awb);
        $object->getActiveSheet()->setCellValueByColumnAndRow(4, $excel_row, $row->sendermobile);
        $excel_row++;
    }
    date_default_timezone_set("Asia/Jakarta");
    $this_date = date("Y-m-d");
    $filename='pb_turnamen_data-'.$this_date.'.xls'; //save our workbook as this file name
    header('Content-Type: application/vnd.ms-excel; charset=UTF-8'); //mime type
    header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
    header('Cache-Control: max-age=0'); //no cache

    $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
    ob_end_clean();
    $objWriter->save('php://output');
}

我的模型如下所示:

function excelexport()
{
   $this->db->order_by("id", "DESC");
   $query = $this->db->get("consignments");
   return $query->result();
}

单击按钮时,正在下载 excel 文件,但文件显示如下图所示:

谁能告诉我这里出了什么问题,提前谢谢

【问题讨论】:

  • 我在这段代码中没有看到 continue breakswitch。请检查错误中的文件名和行号,以确保您向我们显示正确的代码
  • @RiggsFolly 我认为它来自 excel 库文件夹
  • 检查您的 PHP 版本并尝试composer update
  • @Canh in localhost php 版本为 5.2
  • PHPExcel 已过时,您可能必须升级到 PHP 电子表格。 phpspreadsheet.readthedocs.io/en/latest 可以解决问题

标签: php mysql excel codeigniter phpexcel


【解决方案1】:

您可以使用以下代码,它将以 .xlsx 格式下载

$file_name = time().".xlsx";
$object_writer = PHPExcel_IOFactory::createWriter($object, 'Excel2007');
ob_end_clean();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$file_name);
$object_writer->save('php://output');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    相关资源
    最近更新 更多