我想有由PHPExcel XLS出口和使用笨和AJAX,但我沒有得到任何文件,請幫我導出到Excel通過PHPExcel和笨和Ajax
HTML代碼按鈕:
<button class="buttonExcel" id="ButtonExcel" onclick="getExcel()" ></button>
我的AJAX代碼運行良好,但不創建任何文件對我來說:
:<script>
function getExcel()
{
$.ajax({
url:'<?=base_url();?>tops/posts/create_result',
destroy: true,
type: 'POST',
data: '',
beforeSend: function() {
$("#ButtonExcel").removeClass("buttonExcel");
$("#ButtonExcel").addClass("buttonExcel-getExcel");
$("#ButtonExcel").blur();
},
success: function(response){
window.open('<?=base_url();?>tops/posts/create_result','_blank');
},
error: function(){
alert("error when get data");
}
});
}
</script>
我Contoroler沒有Ajax運行良好
public function create_result()
{
set_time_limit(600);
$this->load->model('tops/Posts_model');
$list = $this->Posts_model->create_result();
require(APPPATH."third_party/PHPExcel-1.8/Classes/PHPExcel.php");
require(APPPATH."third_party/PHPExcel-1.8/Classes/PHPExcel/Writer/Excel5.php");
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("");
$objPHPExcel->getProperties()->setLastModifiedBy("");
$objPHPExcel->getProperties()->setTitle("");
$objPHPExcel->getProperties()->setSubject("");
$objPHPExcel->getProperties()->setDescription("");
$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setCellValue("A1","text");
$sheet->setCellValue("B1","time");
$sheet->setCellValue("C1","date");
$sheet->setCellValue("D1","type");
$sheet->setCellValue("E1","view");
$row = 2;
foreach ($list as $key => $value)
{
$sheet->setCellValue("A".$row,$value['MsgText']);
$sheet->setCellValue("B".$row,$value['MsgTime']);
$sheet->setCellValue("C".$row,$value['MsgDate']);
$sheet->setCellValue("D".$row,$value['MsgType']);
$sheet->setCellValue("E".$row,$value['CountView']);
$row++;
}
$filename = "Task-Exportet-on-".date("Y-m-d-H-i-s").".xls";
$sheet->setTitle("Task-Overview");
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //mime type
header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//force user to download the Excel file without writing it to server's HD
$objWriter->save('php://output');
set_time_limit(30);
exit;
}
將您發佈此答。我陷入了同樣的問題,沒有得到任何解決方案。 – Mahantesh