1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <? $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" <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> |
การใช้งานและส่วนที่ต้องปรับแต่ง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?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 } ?> |