从输入表单字段读取数据并将它们存储在yii2中的excel中

时间:2017-03-14 07:57:44

标签: php yii2 phpexcel yii2-basic-app

我已经使用PHPExcel制作电子表格。电子表格已经填充但是值已损坏。我用来获取输入字段的值的方式是通过serialise()根据我的知识返回一个string。基本点是如何将这些不同的输入字段值存储到我的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);
            }
        });
    };

0 个答案:

没有答案