13 มกราคม 2554

การใช้งาน PHPExcel

วิธีการเริ่มต้น การใช้งาน PHPExcel
----------------------------------------------------------------------------------
<?php

/** PHPExcel */
require_once 'Classes/PHPExcel.php'; // แทรก Class ที่ดาวโหลดมา

// Create new PHPExcel object // เริ่มต้นสร้าง object
$objPHPExcel = new PHPExcel();

// Set properties // ระบุผู้สร้างไฟล์ จะระบุหรือไม่ก็ได้
$objPHPExcel->getProperties()->setCreator("Chaiwit");

//+ กำหนดชื่อ ฟอนต์ ที่จะใช้งาน
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');

//+ กำหนดขนาด ฟอนต์
$objPHPExcel->getDefaultStyle()->getFont()->setSize(15);

// Add some data // เริ่มต้นแสดงข้อมูล
$txt = range('A','E');

for($i=0; $i< 8; $i++){
foreach($txt as $key => $val)
{
$objPHPExcel->getActiveSheet()->getColumnDimension(''.$val.'')->setWidth(10); // กำหนดความกว้างของแถว $objPHPExcel->getActiveSheet()->getRowDimension(''.$i.'')->setRowHeight(23); // กำหนดความสูงของแถว
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(''.$val.''.$i.'', ''.$key.'');
}
}

// insert image // ตัวอย่างในการแทรกรูปภาพลงในไฟล์ ระบุที่เซล B15
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('./Tests/images/officelogo.jpg');
$objDrawing->setHeight(36);
$objDrawing->setWidth(100);
$objDrawing->setCoordinates('B15');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

// Rename sheet // สร้างชื่อ Sheet
$objPHPExcel->getActiveSheet()->setTitle('Chaiwit');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); // กำหนดให้เมื่อเราเปิดไฟล์ให้แสดง sheet ไหนเป็นอันดับแรก

// Create a new worksheet, after the default sheet
$objPHPExcel->createSheet(); // ในกรณีที่เราสร้างหลาย ๆ Sheet ในงานไฟล์เดียว

/** PHPExcel_IOFactory */
require_once './Classes/PHPExcel/IOFactory.php';

// ตรงนี้เริ่มสู่กระบวนการสร้างไฟล์ xls
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('chaiwit.xls');
//$objWriter->save(''.iconv('UTF-8','TIS-620','ชัยวิทย์').'.xls'); // ใช้ในกรณีทำให้ไฟล์ที่ Save เป็นชื่อ ภาษาไทย

-------------------------------------------------------------------------------------------------
/* ตั้งแต่แถวนี้จะเป็นการใช้ในกรณีที่จะให้มันขึ้น Dialog มาเพื่อทำการ Save AS ไฟล์นั้น ใช้แทนคำสั่ง สร้างไฟล์ xls ด้านบน */

// redirect output to client browser
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Chaiwit.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

?>

แนะนำความรู้นี้โดย พี่ปลาทู แห่ง http://www.select2web.com/

หาความรู้เพิ่มเติมจาก Documentation ที่ให้มาพร้อมกับ Class ที่ดาวโหลดมาได้เลยครับ
ดาวน์โหลด : http://phpexcel.codeplex.com/releases/view/26479 เวอร์ชั่นล่าสุด: 1.7.5

ไม่มีความคิดเห็น:

แสดงความคิดเห็น