ดาวน์โหลด Class มาจาก : http://phpexcel.codeplex.com/releases/view/26479 เวอร์ชั่นล่าสุด: 1.7.5
วิธีการใช้งาน Class เพื่อสร้างไฟล์ PDF ลักษณะการทำงานก็คล้าย ๆ กับการสร้างไฟล์ xls ดังนี้
<?php
/** Error reporting */
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
/** PHPExcel */
require_once 'Classes/PHPExcel.php'; // แทรก Class ที่ดาวโหลดมา
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("Chaiwit");
//Setting a worksheet's page orientation and size
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); // กำหนดแนวตั้ง / แนวนอน
$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); // กำหนดขนาดกระดาษ
//Page Setup: Scaling options
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1); // กำหนดมาตราส่วน หรือไม่ก็ได้
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0); // กำหนดมาตราส่วน หรือไม่ก็ได้
//Page margins // กำหนดระยะขอบ
$objPHPExcel->getActiveSheet()->getPageMargins()->setTop(1); // กำหนดระยะขอบ บน
$objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.75); // กำหนดระยะขอบ ขวา
$objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.75); // กำหนดระยะขอบ ซ้าย
$objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(1); // กำหนดระยะขอบ ล่าง
// Add some data วนลูปแสดงข้อมูล
$txt = range('A','O');
for($i=0; $i< 30; $i++){
foreach($txt as $key => $val)
{
$objPHPExcel->getActiveSheet()->getColumnDimension(''.$val.'')->setWidth(9.5); // กำหนดความกว้าง
$objPHPExcel->getActiveSheet()->getRowDimension(''.$i.'')->setRowHeight(23); // กำหนดความสูงของแถว
$objPHPExcel->setActiveSheetIndex(0)->setCellValue(''.$val.''.$i.'', ''.$key.''); // เพิ่มค่า
// กำหนดสีพื้นหลังให้ cell
$objPHPExcel->getActiveSheet()->getStyle(''.$val.''.$i.'')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle(''.$val.''.$i.'')->getFill()->getStartColor()->setARGB('5c5cb3fc');
}
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Chaiwit');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="'.iconv('UTF-8','TIS-620','ชัยวิทย์').'.pdf"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); // จุดที่แตกต่างไปจากการสร้างไฟล์ excel
$objWriter->save('php://output');
exit;
?>
ขอบคุณมาก ๆ คะ
ตอบลบ