Ich möchte xls Export von PHPExcel haben und verwenden Codeigniter und AJAX, aber ich nicht jede Datei erhalten, bitte helfen Sie mirExport nach Excel von PHPExcel und Codeigniter und Ajax
HTML-Code für Schaltfläche:
<button class="buttonExcel" id="ButtonExcel" onclick="getExcel()" ></button>
Mein aJAX-Code läuft gut, aber nicht für mich jede Datei erstellen:
<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>
Meine Contoroler ohne ajax gut läuft:
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;
}
werden Sie am für diesen Beitrag. Ich falle in das gleiche Problem und bekomme keine Lösung. – Mahantesh