PHP กับการ Export Excel
บ่อยครั้งงานที่ต้องการ Export ตาราง HTML ให้อยู่ในรูปแบบ .xls นั้น เป็นงานที่ดูเหมือนไม่ยาก แต่วิธีการ Export to excel หลายวิธีนั้นดูแล้วช่างยุ่งยาก วันนี้ทิปสยามมีเทคนิค PHP to Excel มาฝากกัน จากการเจอปัญหาด้วยตัวเองและนำวิธีนี้มาแก้ปัญหา ที่สำคัญรองรับภาษาไทย!
การ Export ข้อมูลรูปแบบเฉพาะของ MS excel ซึ่งต้องอาศัย Library เฉพาะ
Code :
<?php
header(“Content-Type: application/vnd.ms-excel”);
header(‘Content-Disposition: attachment; filename=”MyXls.xls”‘);#ชื่อไฟล์
?>
<html xmlns:o=”urn:schemas-microsoft-com:office:office”
xmlns:x=”urn:schemas-microsoft-com:office:excel”
xmlns=”http://www.w3.org/TR/REC-html40″>
<HTML>
<HEAD>
<meta http-equiv=”Content-type” content=”text/html;charset=tis-620″ />
</HEAD><BODY>
<TABLE x:str BORDER=”1″>
<TR>
<TD><b>AAA</b></TD>
<TD><b>AAA</b></TD>
<TD><b>AAA</b></TD>
</TR>
<TR>
<TD>BBB</TD>
<TD>BBB</TD>
<TD>BBB</TD>
</TR>
<TR>
<TD>001</TD>
<TD>002</TD>
<TD>003</TD>
</TR>
<TR>
<TD>ภาษาไทย</TD>
<TD>ภาษาไทย</TD>
<TD>ภาษาไทย</TD>
</TR>
</TABLE>
</BODY>
</HTML>
จุดหลักมีอยู่ 3 จุด
1. แปะ Header เพื่อบอกว่าจะเปิดไฟล์ Excel
<?phpheader(“Content-Type: application/vnd.ms-excel”);header(‘Content-Disposition: attachment; filename=”MyXls.xls”‘);#ชื่อไฟล์?>
2.ส่วนนี้มีผลกับการแสดง Excel จำเป็นมาก
<html xmlns:o=”urn:schemas-microsoft-com:office:office”xmlns:x=”urn:schemas-microsoft-com:office:excel”xmlns=”http://www.w3.org/TR/REC-html40″>
3. อันนี้แหล่ะที่จะทำให้ข้อมูลที่นำหน้าด้วยเลขศูนย์แสดงขึ้นมา เพราะกำหนดให้เป็น String
<TABLE x:str BORDER=”1″>
————————————————-
ดาวน์โหลดไฟล์ตัวอย่าง – Demo
ขอขอบคุณผู้นำความรู้มาเผยแพร่ และขออภัยที่จำที่มาของเนื้อหาไม่ได้ หวังว่าจะเป็นประโยชน์กับเพื่อนๆ ไม่มากก็น้อย