<? $connection=mysql_connect("localhost","root","") or die("เชื่อมต่อฐานข้อมูลไม่ได้"); mysql_select_db("thailocation") or die("ไม่สามารถเลือกฐานข้อมูลได้"); $q="select * from province order by province_id "; $qr=mysql_query($q); $row_num=mysql_num_rows($qr); $col_arr=array("Province ID","Province Name","Province Part"); $col_num=count($col_arr); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download");; header("Content-Disposition: attachment;filename=data.xls "); ?> <?php echo '<?xml version="1.0" encoding="windows-874"?>'; ?> <?php echo'<?mso-application progid="Excel.Sheet"?>';?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font x:CharSet="222"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles> <Worksheet ss:Name="ข้อมูลจังหวัดในประเทศไทย"> <Table ss:ExpandedColumnCount="<?=$col_num?>" ss:ExpandedRowCount="<?=$row_num+1?>" x:FullColumns="1" x:FullRows="1"> <Row> <?php foreach($col_arr as $key=>$value){ ?> <Cell><Data ss:Type="String"><?=$value?></Data></Cell> <?php } ?> </Row> <?php while($rs=mysql_fetch_array($qr)){ ?> <Row> <Cell><Data ss:Type="Number"><?=$rs['province_id']?></Data></Cell> <Cell><Data ss:Type="String"><?=$rs['province_name']?></Data></Cell> <Cell><Data ss:Type="Number"><?=$rs['province_part']?></Data></Cell> </Row> <?php } ?> </Table> <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <Selected/> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet> </Workbook>
การใช้งานและส่วนที่ต้องปรับแต่ง
<?php $connection=mysql_connect("localhost","root","") or die("เชื่อมต่อฐานข้อมูลไม่ได้"); mysql_select_db("thailocation") or die("ไม่สามารถเลือกฐานข้อมูลได้"); $q="select * from province order by province_id "; // ดึงข้อมูลที่ต้องการ $qr=mysql_query($q); $row_num=mysql_num_rows($qr); // หาจำนวนแถวของข้อมูล $col_arr=array("Province ID","Province Name","Province Part"); // กำหนดหัวข้อของข้อมูล $col_num=count($col_arr); // หาจำนวนหัวข้อของข้อมูล header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); // ให้ขึ้นดาวน์โหลด header("Content-Type: application/octet-stream"); header("Content-Type: application/download");; header("Content-Disposition: attachment;filename=data.xls "); // กำหนดชื่อไฟล์ ?>
ส่วนของการแสดงข้อมูลในตาราง Excel
<?php // วนลูปแสดงข้อมูลแต่ละแถวทั้งหมด ในที่นี้มี 3 คอลัมน์ // หากข้อมูลมีมากกว่า 3 จำเป็นต้องเพิ่มจำนวน Cell เข้าไป // โดเยเพิ่ม <Cell><Data ss:Type="Number">ฟิลด์ข้อมูล</Data></Cell> // สามารถกำหนดประเภทของข้อมูลว่าเป็น Type="Number" ตัวเลข หรือ Type="String" while($rs=mysql_fetch_array($qr)){ ?> <Row> <Cell><Data ss:Type="Number"><?=$rs['province_id']?></Data></Cell> <Cell><Data ss:Type="String"><?=$rs['province_name']?></Data></Cell> <Cell><Data ss:Type="Number"><?=$rs['province_part']?></Data></Cell> </Row> <?php } ?>