Php 从输入表单字段读取数据并将其存储到yii2中的excel中

Php 从输入表单字段读取数据并将其存储到yii2中的excel中,php,yii2,phpexcel,yii2-basic-app,Php,Yii2,Phpexcel,Yii2 Basic App,我使用PHPExcel制作了一个电子表格。电子表格正在填充,但其中的值已损坏。此外,我获取输入字段值的方法是通过serialise()据我所知,它返回一个字符串。基本要点是如何将这些不同的输入字段值存储到我的excel文件中。如果我的逻辑有问题,请告诉我。 提前感谢:) 控制器动作- public function actionSaveExcel() { $test = $_POST; print_r($test); $objPHPExcel = new \PHPExcel()

我使用PHPExcel制作了一个电子表格。电子表格正在填充,但其中的值已损坏。此外,我获取输入字段值的方法是通过serialise()据我所知,它返回一个字符串。基本要点是如何将这些不同的输入字段值存储到我的excel文件中。如果我的逻辑有问题,请告诉我。 提前感谢:) 控制器动作-

public function actionSaveExcel() {

$test = $_POST;

  print_r($test);


   $objPHPExcel = new \PHPExcel();
   $sheet = 0;

   $objPHPExcel->setActiveSheetIndex($sheet);
   $foos = [
           ['firstname' => $test['list_box_element'],
           'lastname' => 'pat'],

   ];

   $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
   $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);

   $objPHPExcel->getActiveSheet()->setTitle('xxx')
           ->setCellValue('A1', 'Firstname')
           ->setCellValue('B1', 'Lastname');

   $row = 2;

   foreach ($foos as $foo) {

       $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $foo['firstname']);
       $objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $foo['lastname']);
       $row++;
   }

   header('Content-Type: application/vnd.ms-excel');
   $filename = "MyExcelReport_" . date("d-m-Y-His") . ".xls";
   header('Content-Disposition: attachment;filename=' . $filename . ' ');
   header('Cache-Control: max-age=0');
   $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
   ob_clean();
   $objWriter->save('php://output');

   return $test['list_box_element'];

  // return $objWriter;

}
景色-

clicked = function () {
   var joo=$('#orderForm formsection[name="ASSET CODE REPORT"]').find('input,select').serialize();
      console.log(joo);

    $.ajax({
            type: "POST",
            data:  $('#orderForm formsection[name="ASSET CODE REPORT"]').find('input,select').serialize(),
            url: "index.php?r=orders/save-excel",
            success: function (data) {
               alert(data);
            }
        });
    };

发布您的代码。just dide@Revolution。
$test
中的数据是什么样子的?谢谢大家。找到了解决方案。因此不需要Ajax,我直接将值与url一起传递,它就可以工作了。