91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP數據導出知識點的方法

發布時間:2021-06-29 10:26:43 來源:億速云 閱讀:102 作者:chen 欄目:開發技術

本篇內容介紹了“PHP數據導出知識點的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

最近在做后臺管理的項目,后臺通常有數據導出到 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數據導出知識點的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

湄潭县| 黄龙县| 筠连县| 泰和县| 聊城市| 顺昌县| 平江县| 曲阳县| 黄龙县| 南康市| 临潭县| 洪湖市| 禄丰县| 霍州市| 兴国县| 麻阳| 仪征市| 揭西县| 麟游县| 旅游| 博湖县| 河津市| 西丰县| 海安县| 长治县| 元江| 阜康市| 湘潭市| 方山县| 额济纳旗| 台中县| 南丹县| 都安| 韶关市| 凌海市| 塔城市| 西丰县| 云阳县| 延边| 长垣县| 晋宁县|