PHP將MySQL表匯出為Excel檔案的簡潔方法

2021-09-28 14:37:40 字數 1410 閱讀 3145

<?php

// 輸出excel檔案頭,可把goods.csv換成你要的檔名

header()

;header

('content-disposition: attachment;filename="goods.csv"');

header

('cache-control: max-age=0');

$conn

=mysql_connect

('localhost'

,'root'

,'root')or

die();

mysql_select_db

('yipai'

,$conn);

mysql_query

('set names utf8');

// 從資料庫中獲取資料,為了節省記憶體,不要把資料一次性讀到記憶體,從控制代碼中一行一行讀即可

$sql

='select * from goods'

;$result

=mysql_query

($sql);

// 開啟php檔案控制代碼,php://output 表示直接輸出到瀏覽器

$fp=

fopen

('php://output'

,'a');

// 輸出excel列名資訊

$head

=array

('商品名稱'

,'**'

,'分類',''

,'描述'

,'商品詳情'

,'狀態'

,'新增時間');

foreach

($head

as$i

=>$v)

// 將資料通過fputcsv寫到檔案控制代碼

fputcsv

($fp

,$head);

// 計數器

$cnt=0

;// 每隔$limit行,重新整理一下輸出buffer,不要太大,也不要太小

$limit

=100000

;// 逐行取出資料,不浪費記憶體

while

($row

=mysql_fetch_assoc

($result))

foreach

($row

as$j

=>$v)

fputcsv

($fp

,$row);

}//關閉檔案控制代碼

fclose

($fp);

//關閉資料庫

mysql_close

($conn);

?>

匯出檔案格式為 .csv,如果想要 .xls 檔案,則開啟 .csv 檔案另存為 .xls 檔案即可。

SQLServer將表資料匯出為Insert語句

從網上找到的方法,不過很不錯,記錄下來,也算是分享下 有乙個表,city,有列 cityid,cityname 將此表中所有資料,變為insert語句 select insert into tablename cityid,cityname values cityid cityname as sql...

oracle Oracle匯出表結構至Excel

user col comments 表名 列名 說明 user tab comments 表名 型別 說明 user objects 字典表檢視 表名稱及說明 t3.comments as 表說明 t1.column name as 欄位名稱 t1.data type t1.data length ...

擴充套件Struts2,傻瓜化將資料匯出為excel

以前做開發,在有資料匯出為excel的時候,不加思索就乙個cell乙個cell地拼湊完成乙個excel記憶體流,輸入出到客戶端了事,有天想這些 80 都是重複的,能不能不那麼麻煩地ctrl c ctrl v來做這件事。嘗試了下,還可以。部份中是演示 首先定義乙個annotation retentio...