Tag Archive ดาต้า

Byphunsanit

ส่งออกข้อมูลแบบที่ง่ายที่สุด ( CSV )

วิธีที่ส่งออกข้อมูลที่ง่ายที่สุด และอิมพอร์ตเข้าโปรแกรมต่างๆได้มากที่สุดคือ comma-separated values ( CSV ) แปลง่าย ๆ ว่า ไฟล์ตารางที่คั่นด้วยคอมม่า แปลบ้าน ๆ ไปอีกคือ text file ที่ข้อมูลถูกแบ่งโดย , หรือเครื่องหมายอื่น เช่น pipe | โดยข้อมูลต่ละ record จะแบ่งโดยการขึ้นบรรทัดใหม่ ( ใน php คือ \n )
เขียนง่ายๆ แค่มีการเพิ่ม header เข้าไปว่ามันเป็น csv นะและ echo ธรรมดา ๆ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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 ดูครับ