บ่อยครั้งงานที่ต้องการ 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
ขอขอบคุณผู้นำความรู้มาเผยแพร่ และขออภัยที่จำที่มาของเนื้อหาไม่ได้ หวังว่าจะเป็นประโยชน์กับเพื่อน ๆ ไม่มากก็น้อย