国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php fputcsv函數將mysql數據庫導出到excel文件

2024-05-04 21:49:24
字體:
來源:轉載
供稿:網友

fputcsv() 函數將行格式化為 CSV 并寫入一個打開的文件,該函數返回寫入字符串的長度,若出錯,則返回 false.

說明:fputcsv() 將一行(用 fields 數組傳遞)格式化為 CSV 格式并寫入由 file 指定的文件.

PHP實例代碼如下:

  1. // 輸出Excel文件頭,可把user.csv換成你要的文件名  
  2. header('Content-Type: application/vnd.ms-excel');  
  3. header('Content-Disposition: attachment;filename="user.csv"');  
  4. header('Cache-Control: max-age=0'); 
  5.  
  6. // 從數據庫教程中獲取數據,為了節省內存,不要把數據一次性讀到內存,從句柄中一行一行讀即可  
  7. $sql = 'select * from tbl where ……';  
  8. $stmt = $db->query($sql); 
  9.  
  10. // 打開PHP文件句柄,php教程://output 表示直接輸出到瀏覽器  
  11. $fp = fopen('php://output''a'); 
  12.  
  13. // 輸出Excel列名信息  
  14. $head = array('姓名''性別''年齡''Email''電話''……');  
  15. foreach ($head as $i => $v) {  
  16. // CSV的Excel支持GBK編碼,一定要轉換,否則亂碼  
  17. $head[$i] = iconv('utf-8''gbk'$v);  
  18.  
  19. // 將數據通過fputcsv寫到文件句柄  
  20. fputcsv($fp$head); 
  21.  
  22. // 計數器  
  23. $cnt = 0;  
  24. // 每隔$limit行,刷新一下輸出buffer,不要太大,也不要太小  
  25. $limit = 100000; 
  26.  
  27. // 逐行取出數據,不浪費內存  
  28. while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) { 
  29. //開源代碼Vevb.com 
  30. $cnt ++;  
  31. if ($limit == $cnt) { //刷新一下輸出buffer,防止由于數據過多造成問題  
  32. ob_flush();  
  33. flush();  
  34. $cnt = 0;  
  35.  
  36. foreach ($row as $i => $v) {  
  37. $row[$i] = iconv('utf-8''gbk'$v);  
  38. }  
  39. fputcsv($fp$row);  
  40. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉川市| 黔西| 通化县| 农安县| 碌曲县| 松滋市| 平定县| 霞浦县| 淮滨县| 湖南省| 平遥县| 中阳县| 怀柔区| 堆龙德庆县| 龙门县| 宜兴市| 阿瓦提县| 柞水县| 新建县| 凌云县| 清河县| 万年县| 广南县| 滦平县| 兰溪市| 驻马店市| 山阳县| 苗栗市| 比如县| 绿春县| 靖安县| 烟台市| 略阳县| 墨脱县| 青冈县| 习水县| 肇源县| 独山县| 遂宁市| 兴和县| 建始县|