婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺析PHP數據導出知識點

淺析PHP數據導出知識點

熱門標簽:深圳外呼系統收費 江蘇外呼電銷機器人報價 400電話申請方法收費 400電話辦理福州市 離石地圖標注 長沙crm外呼系統業務 電話機器人危險嗎 南寧高頻外呼回撥系統哪家好 專業電話機器人批發商

最近在做后臺管理的項目,后臺通常有數據導出到 excel 的需要,經過之前搜索通常推薦使用的是 php excel ,我經常使用的是 laravel ,對于 php excel 也有很好用的對應 package。

開始使用是非常好用的,但是當需要導出的數據達到上萬條時就直接帶來內存不足的問題。

然后我找到了幾個解決方案。

前端解決方案

PHP配合SheetJS/js-xlsx導出Excel大量數據

這個方案好處的不需要額外的接口,但是要依賴于前端開發者。

導出成 csv

該方案速度較快,完全后端實現,缺點是 csv 格式對導出的形式要求比較高,要求是純數據,不能存在圖片之類的富文本形式。

下面主要介紹一下導出 csv 的方式

php 官方文檔 的介紹

?php

$list = array (
  array('aaa', 'bbb', 'ccc', 'dddd'),
  array('123', '456', '789'),
  array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
  fputcsv($fp, $fields);
}

fclose($fp);
?>

導出完整例子

?php

$name = 'test';
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=".$name.".csv" );
header ('Cache-Control: max-age=0');

//打開PHP文件句柄,php://output 表示直接輸出到瀏覽器
$fp = fopen('php://output', 'a');  

// 寫入BOM頭,防止亂碼
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); 

// 生成的測試數據
function test()
{
  for ($i=0; $i  150000; $i++) {
    yield ['name', $i, '男'];
  }
}

// 表頭
$headers = ['名字', '年齡', '性別'];

fputcsv($fp, $headers);

foreach (test() as $value) {
  fputcsv($fp, $value);
}

fclose($fp);
?>

在 laravel 中配合 chunk 使用可以方便快速導出全部數據。

以上就是本次知識點的全部內容,感謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PHP將數據導出Excel表中的實例(投機型)
  • Thinkphp連表查詢及數據導出方法示例
  • PHP將Excel導入數據庫及數據庫數據導出至Excel的方法
  • Dwz與thinkphp整合下的數據導出到Excel實例

標簽:株洲 南昌 曲靖 興安盟 濱州 太原 南京 白酒營銷

巨人網絡通訊聲明:本文標題《淺析PHP數據導出知識點》,本文關鍵詞  淺析,PHP,數據,導出,知識點,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析PHP數據導出知識點》相關的同類信息!
  • 本頁收集關于淺析PHP數據導出知識點的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 磐安县| 岢岚县| 揭西县| 邵武市| 达孜县| 乌兰浩特市| 乌鲁木齐县| 江陵县| 施甸县| 公主岭市| 卫辉市| 汶上县| 白河县| 泾阳县| 巴林右旗| 得荣县| 平利县| 徐州市| 牙克石市| 都安| 高雄县| 义乌市| 南陵县| 闵行区| 鄱阳县| 塔城市| 北票市| 随州市| 东莞市| 商城县| 汾西县| 左贡县| 秭归县| 太康县| 靖西县| 南靖县| 苏州市| 马尔康县| 卓资县| 南阳市| 佛山市|