ดึงข้อมูลจากฐานข้อมูลเป็น excel ด้วย 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 "); 
?>
<?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  }  ?>  

บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

14 Feb 09 คำนวณหาอายุ จากวันเกิด ด้วย php อ่าน 1611 30 Oct 08 ฟังก์ชันตรวจสอบอีเมลล์ ด้วย php ละเอียดมากขึ้น php check verify email อ่าน 1575 25 Sep 08 Upload รูปภาพ หรือไฟล์ด้วย ฟังก์ชั่น ใช้ง่าย อ่าน 1549 10 Nov 08 ฟังก์ชัน PHP ตัดข้อความยาวด้วย wordwrap อ่าน 1516 17 Mar 09 ง่ายๆ กับการส่งค่าตัวแปร PHP ไปใช้ใน Javascript อ่าน 1486 25 Sep 08 Authentication ป้องกันไฟล์ด้วย php อ่าน 1483 04 Nov 08 สร้าง RSS บทความหรือข่าวสาร ด้วย PHP อ่าน 1348 14 Feb 09 ข้อแตกต่างระหว่าง mysql_pconnect กับ mysql_connect อ่าน 1185 03 Nov 08 เก็บ HTML ไว้ในตัวแปร PHP อย่างง่ายด้วยฟังก์ชัน ob_start() อ่าน 1162 15 Feb 09 ดึงข่าว rss มาใช้ในเว็บเราได้อย่างง่ายดายด้วย php อ่าน 1126 25 Sep 08 วิธีแก้ปัญหาตัวแปร global เป็น off อ่าน 1110 25 Sep 08 Functions ลบไฟล์ อ่าน 1100 18 Mar 09 สร้างฟังก์ชัน PHP กำหนดเวลาหมดอายุให้ัตัวแปร SESSION อย่างง่าย อ่าน 1074 25 Sep 08 หลักการเข้ารหัสด้วยฟังก์ชั่น md5 อ่าน 1059 29 Mar 09 ทบทวนการตัดข้อความด้วย PHP อ่าน 1058
จำนวนผู้เยี่ยมชม 85255 คน 2010 © Copyright ninenik.com. All rights reserved.