我已经使用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);
}
});
};