데이터베이스에서 얻을 수있는 정보가있는 PDF 파일을 생성해야합니다. PHPExcel을 사용하여이 작업을 수행하고 있지만, 여기 버튼을 클릭하면됩니다. 그래서 모든 정보를 가져 와서 PDF에 넣으면 내 페이지에 "쓰레기"가 많이 생깁니다. 메모장에서 PDF를 열려고하면이 쓰레기와 비슷하지만 무작위로 기호가 표시됩니다. 여기 PHPExcel이 메인 페이지에 쓰레기를 표시합니다
내가 그것을 어떻게
나는 형태로 표시되는 모든 정보를 얻기 위해$.ajax
전화를 사용하고
:
$.ajax({
// gets all the information and puts them into the form and several tables
});
그럼 내가 버튼 report
에 이벤트 처리기를 추가를 그래서 나는 보고서를 채우기 위해 필요한 정보를 수집 할 PHP 스크립트에 요청 ID를 보냅니다.
report.on('click',function(){
$.ajax({
url : '../../php/reports/requestReport.php',
type : 'post',
data : {'idRequest' : id },
dataType : 'json',
success : function(response){
console.log(response);
},
error : function(response){
if(response.responseText != undefined)
$('body').append(response.responseText);
console.warn(response);
}
});
});
<?php
require '../functions.php';
require '../classes/PHPExcel.php';
if(isset($_POST['idRequest']))
$idRequest = $_POST['idRequest'];
else{
$idRequest = false;
echo json_encode(array("ExitCode"=>1,"Message"=>"idRequest Not Received","Location"=>"requestReport.php"));
}
if($idRequest){
try{
// get all the data
// save the request and send it to the report
$excel = new PHPExcel();
//Initializing
$excel->getProperties()->setCreator("TTMS")
->setLastModifiedBy("TTMS")
->setTitle("Request update $idRequest");
$excel->setActiveSheetIndex(0)
->setCellValue('C1', 'Request For Q.A./Q.C./Testing');
// Rename worksheet
$excel->getActiveSheet()->setTitle("$idRequest");
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$excel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (PDF)
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="Update_Request_'.$idRequest.'.pdf"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($excel, 'PDF');
$objWriter->save('php://output');
} catch(PDOException $ex){
echo json_encode(array("ExitCode"=>2,"Message"=>$ex->getMessage(),"Location"=>"requestReport.php PDOException"));
}
그래서 긴 이야기의 짧은 내가 양식이 페이지에 쓰레기를 얻을 :
그리고 내 PHP 파일에 내가 이런 식으로 뭔가가있다. 나는 이것이 ajax
을 통해 이것을하고 있다는 사실과 관련이 있다고 생각하지만, 이것을 수행해야하므로 echo
의 코드에서 오류를보고해야합니다.
혼란 스럽습니다. Excel 스프레드 시트를 생성하고 있지만 PDF로 이름을 지정하고 있습니까? PDF는 결코 Excel 스프레드 시트가 아니며 절대로 사용하지 않았으며 결코 사용하지 않을 것입니다. 따라서 쓰레기를 버리는 것은 당연합니다. 이는 .jpg 이미지의 이름을 "cutekittens.txt"로 바꾸고 메모장에서 이미지를 표시 할 수있을 것으로 기대하는 것과 같습니다. –
PHPExcel을 사용하면 Excel 파일을 만들 수 있지만 결국에는 PDF로 저장합니다.이 대부분은 PHPExcel의 설명서에있는 자습서에서 복사 한 것입니다. –