【发布时间】:2023-04-01 08:46:01
【问题描述】:
我有这个 AJAX 函数可以将数据发送到 PHPExcel:
$("#btn_excel").on('click',function(e){
var test = "This is my Var";
$.ajax({
type: "POST",
url: "<?php echo site_url('con_atk/excel_pembebanan'); ?>",
cache: false,
data: test,
success: function(response)
{
window.open('<?php echo site_url('con_atk/excel_pembebanan'); ?>','_blank');
}
});
});
这是我的控制器:
public function excel_pembebanan()
{
$this->load->library('Excel');
$val = $this->input->post('data');
$this->excel->setActiveSheetIndex(0);
$this->excel->getActiveSheet()->setTitle('Laporan Pembebanan');
$this->excel->getActiveSheet()->setCellValue('A1', $val );
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$filename= "cabe.xls'";
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
$objWriter->save('php://output');
}
代码成功生成excel文件。但是写入单元格的值是“FALSE”。值应该是“This is my Var”。
代码有什么问题?非常感谢任何帮助。
【问题讨论】:
-
首先检查 $val = $this->input->post('data'); $val 中是否包含任何值?
-
我认为应该是
data: { 'data' : test },,正如你所期望的那样。 -
@Mayank:有没有简单的方法来检查控制器中的 $val?
-
@Ekn : 仍然显示 FALSE
-
只需回显 $val 并退出。
标签: php ajax codeigniter phpexcel