主頁(yè) > 知識(shí)庫(kù) > 淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)

淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)

熱門標(biāo)簽:深圳外呼系統(tǒng)收費(fèi) 江蘇外呼電銷機(jī)器人報(bào)價(jià) 400電話申請(qǐng)方法收費(fèi) 400電話辦理福州市 離石地圖標(biāo)注 長(zhǎng)沙crm外呼系統(tǒng)業(yè)務(wù) 電話機(jī)器人危險(xiǎn)嗎 南寧高頻外呼回?fù)芟到y(tǒng)哪家好 專業(yè)電話機(jī)器人批發(fā)商

最近在做后臺(tái)管理的項(xiàng)目,后臺(tái)通常有數(shù)據(jù)導(dǎo)出到 excel 的需要,經(jīng)過(guò)之前搜索通常推薦使用的是 php excel ,我經(jīng)常使用的是 laravel ,對(duì)于 php excel 也有很好用的對(duì)應(yīng) package。

開(kāi)始使用是非常好用的,但是當(dāng)需要導(dǎo)出的數(shù)據(jù)達(dá)到上萬(wàn)條時(shí)就直接帶來(lái)內(nèi)存不足的問(wèn)題。

然后我找到了幾個(gè)解決方案。

前端解決方案

PHP配合SheetJS/js-xlsx導(dǎo)出Excel大量數(shù)據(jù)

這個(gè)方案好處的不需要額外的接口,但是要依賴于前端開(kāi)發(fā)者。

導(dǎo)出成 csv

該方案速度較快,完全后端實(shí)現(xiàn),缺點(diǎn)是 csv 格式對(duì)導(dǎo)出的形式要求比較高,要求是純數(shù)據(jù),不能存在圖片之類的富文本形式。

下面主要介紹一下導(dǎo)出 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);
?>

導(dǎo)出完整例子

?php

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

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

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

// 生成的測(cè)試數(shù)據(jù)
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 使用可以方便快速導(dǎo)出全部數(shù)據(jù)。

以上就是本次知識(shí)點(diǎn)的全部?jī)?nèi)容,感謝大家對(duì)腳本之家的支持。

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

標(biāo)簽:株洲 南昌 曲靖 興安盟 濱州 太原 南京 白酒營(yíng)銷

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)》,本文關(guān)鍵詞  淺析,PHP,數(shù)據(jù),導(dǎo)出,知識(shí)點(diǎn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章