
PHP : php export to excel
วันนี้ เรามีโค๊ด แนะนำมาฝากครับ คือการ Export ข้อมูล บนเว็บไซต์ มาเป็น ไฟล์ Excel นั่นเอง
ซึ่งผมใช้ PHPExcel Class แต่จะมาลงรายละเอียด แบบที่ใช้กันบ่อยๆ ให้ดูครับ ได้แก่
- การใส่ข้อความบน Excel
- การกำหนดสีให้ตัวอักษร
- การกำหนดความสูงของ cell
- การใส่ลิ้งให้ข้อความ
- การใส่รูปภาพลงใน Excel
- การใช้คำสั่ง For Loop ในการเพิ่มข้อมูล
ลองนำไปศึกษาและต่อยอดดูนะครับ
BEGIN Code PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '
');
date_default_timezone_set('Asia/Bangkok');
/** Include PHPExcel */
require_once dirname(__FILE__) . '/Classes/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Create a first sheet, representing sales data
$objPHPExcel->setActiveSheetIndex(0);
$str_header = "จากประสบการณ์ในการทำเว็บไซต์ ที่มากกว่า 10 ปี เกิดมาจากความชอบในการทำเว็บไซต์ และทดลองทำเว็บไซต์ให้ทันสมัยอยู่เสมอ จนปัจจุบันเราเติบโตขึ้น มีประสบการณ์ตรง ตั้งแต่เริ่มต้น จนต่อยอดธุรกิจของท่านให้มีกำไร สามารถแนะนำรูปแบบและเทคโนโลยีที่เหมาะสมได้ แสดงให้เห็นถึงความคุ้มค่า ความจำเป็น ของเทคโนโลยีปัจจุบัน เราอยู่ในวงการนี้ตลอดตั้งแต่ยุคเริ่มต้นของอินเตอร์เน็ต ทำให้เรามีทีมงาน และคนที่มีความรู้ ความสามารถ ในแต่ละงานที่เหมาะสม ให้ความช่วยเหลือกันเสมอ... เราจึงมีบริการตั้งแต่สอนให้ทำเว็บ รับทำเว็บไซต์ ดูแลเว็บไซต์ และการโฆษณาออนไลน์";
$str_sub_header = "จึงกล่าวได้ว่า บริการด้าน Online Marketing ครบวงจร จบที่นี่ ให้เราได้เป็นส่วนหนึ่งของความสำเร็จของคุณ..โทรเลย 061-583-7888";
$objPHPExcel->getActiveSheet()->setCellValue('B2',$str_header);
$objPHPExcel->getActiveSheet()->setCellValue('C2','');
$objPHPExcel->getActiveSheet()->mergeCells('B2:C2');
$objPHPExcel->getActiveSheet()->setCellValue('B3',$str_sub_header);
$objPHPExcel->getActiveSheet()->setCellValue('C3','');
$objPHPExcel->getActiveSheet()->mergeCells('B3:C3');
$objPHPExcel->getActiveSheet()->setCellValue('B4','ลำดับที่');
$objPHPExcel->getActiveSheet()->setCellValue('C4','บริการของเรา');
//$objPHPExcel->getActiveSheet()->setCellValue('B2', 'รหัสสมาชิก')->setCellValue('C2', 'ชื่อสมาชิก');
for($i=1;$i<=9;$i++){
$objPHPExcel->getActiveSheet()->setCellValue('B' . (4+$i), $i);
}
$objPHPExcel->getActiveSheet()->setCellValue('C5','รับทำเว็บไซต์');
$objPHPExcel->getActiveSheet()->getHyperlink('C5')->setUrl('https://www.siamfocus.com/web-programming.php');
$objPHPExcel->getActiveSheet()->setCellValue('C6','รับพัฒนาโปรแกรม');
$objPHPExcel->getActiveSheet()->getHyperlink('C6')->setUrl('https://www.siamfocus.com/application-program.php');
$objPHPExcel->getActiveSheet()->setCellValue('C7','บริการ Network Server และ Hotspot');
$objPHPExcel->getActiveSheet()->getHyperlink('C7')->setUrl('https://www.siamfocus.com/network-hotspot.php');
$objPHPExcel->getActiveSheet()->setCellValue('C8','สอนทำเว็บ WordPress,สอน PHP');
$objPHPExcel->getActiveSheet()->getHyperlink('C8')->setUrl('https://www.siamfocus.com/training.php');
$objPHPExcel->getActiveSheet()->setCellValue('C9','รับดูแลเว็บ+ที่ปรึกษาเว็บ');
$objPHPExcel->getActiveSheet()->getHyperlink('C9')->setUrl('https://www.siamfocus.com/consultant.php');
$objPHPExcel->getActiveSheet()->setCellValue('C10','ทำเว็บขายของ');
$objPHPExcel->getActiveSheet()->getHyperlink('C10')->setUrl('https://www.siamfocus.com/shop-online.php');
$objPHPExcel->getActiveSheet()->setCellValue('C11','รับจดโดเมน+โฮสติ้ง');
$objPHPExcel->getActiveSheet()->getHyperlink('C11')->setUrl('https://www.siamfocus.com/domain-hosting.php');
$objPHPExcel->getActiveSheet()->setCellValue('C12','ลงโฆษณาเฟสบุค');
$objPHPExcel->getActiveSheet()->getHyperlink('C12')->setUrl('https://www.siamfocus.com/facebook-ads.php');
$objPHPExcel->getActiveSheet()->setCellValue('C13','ลงโฆษณา Google');
$objPHPExcel->getActiveSheet()->getHyperlink('C13')->setUrl('https://www.siamfocus.com/google-ads.php');
// Set column widths
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(50);
//Style
$styleRedBold = array(
'font' => array(
'bold' => true,
'color' => array('rgb' => 'FF0000'),
'size' => 10,
'name' => ''
));
$styleBold = array(
'font' => array(
'bold' => true,
'color' => array('rgb' => '000000'),
'size' => 10,
'name' => ''
));
$styleBlue = array(
'font' => array(
'bold' => false,
'color' => array('rgb' => '003cff'),
'size' => 10,
'name' => ''
));
$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(140);
$objPHPExcel->getActiveSheet()->getStyle('B2:C2'.$objPHPExcel->getActiveSheet()->getHighestRow())->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('B2:C2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('B2:C2')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);
$objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(40);
$objPHPExcel->getActiveSheet()->getStyle('B3:C3')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B3:C3'.$objPHPExcel->getActiveSheet()->getHighestRow())->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('B3:C3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('B3:C3')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);
$objPHPExcel->getActiveSheet()->getStyle('B3:C3')->applyFromArray($styleRedBold);
$objPHPExcel->getActiveSheet()->getStyle('B4:C4')->applyFromArray($styleBold);
$objPHPExcel->getActiveSheet()->getStyle('B4:C4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//$objPHPExcel->getActiveSheet()->getStyle('C3:C13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('B5:B13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('C5:C13')->applyFromArray($styleBlue);
$gdImage = imagecreatefromjpeg('website_line.jpg');
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Line@siamfocus');
$objDrawing->setDescription('Line@siamfocus');
$objDrawing->setImageResource($gdImage);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(170);
$objDrawing->setCoordinates('B15');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save(str_replace('.php', '.xls', __FILE__));
End of Code PHP
Download Source Code กดที่นี่ครับ
อ้างอิงจาก https://github.com/PHPOffice/PHPExcel
มาเป็นเพื่อนกันครับ บนช่องทาง Social ด้านล่างนี้ครับ
--------------------------► LINE@ : @siamfocus.com
► Facebook : fanpage.siamfocus
► Twitter (X) : siamfocus
► Linkedin : taam-siamfocus
► Instagram : iamtaam
► Youtube : SiAMFOCUS
► Tiktok : @taamsiamfocus
--------------------------