วิธีที่ส่งออกข้อมูลที่ง่ายที่สุด และอิมพอร์ตเข้าโปรแกรมต่าง ๆ ได้มากที่สุดคือ comma-separated values แปลง่าย ๆ ว่า ไฟล์ตารางที่คั่นด้วยคอมม่า แปลบ้าน ๆ ไปอีกคือ text file ที่ข้อมูลถูกแบ่งโดย , หรือเครื่องหมายอื่น เช่น pipe | โดยข้อมูลต่ละ record จะแบ่งโดยการขึ้นบรรทัดใหม่
เขียนง่าย ๆ แค่มีการเพิ่ม header เข้าไปว่ามันเป็น csv นะและ echo ธรรมดา ๆ
<?php $filename = 'Exports_Datas_' . date ('Y-m-d_H:i') ; header ('Cache-Control: max-age=0') ;
header ('Content-Encoding: UTF-8') ;
header ('Content-Description: File Transfer') ;
header ('Content-Type: application/octet-stream') ;
header ('Content-type: text/csv; charset=UTF-8') ;
header ('Content-Disposition: attachment;filename="'.$filename.'.csv"') ;
echo "\xEF\xBB\xBF"; /* UTF-8 BOM */ /* random add datas */
for ($a = 0; $a < 10; $a++) { $datas = []; for ($b = 0; $b < 5; $b++) { $datas[$b] = 'ส่งออกข้อมูล '.rand (1, 100) ; } echo implode (',', $datas) ."\n";
}
หลังจากเรียกไฟล์ php ก็จะเห็นว่ามีการให้ download ขึ้นมาให้ save ลองคลิกเปิดดูถ้าเครื่องมี excel อยู่ก็จะเปิดอ่านข้อมูลได้ทันที หรือจะใช้ text editor เปิดขึ้นมาดูก็ได้ ทดลองเปลี่ยนเป็นให้ดึงข้อมูลจาก database ดูครับ