<?
$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 } ?>