關(guān)于 PHP 導(dǎo)出 excel csv 常用的有 PHPexcel ,本文整理了一些其他方案。
高性能 Excel 擴(kuò)展sudo apt-get install -y zlib1g-dev git clone https://github.com/jmcnamara/libxlsxwriter.git cd libxlsxwriter make && sudo make install // https://github.com/viest/php-excel-writer // https://laravel-china.org/topics/6888/php-high-performance-excel-extension-five-hundred-year-formula-no-memory-leak#reply37308 for($index = 0 ; $index < 10000 ; $index++){ $data[$index] = ["viest", 23, 666666666666666666, "銀河市地球區(qū)程序村PHP組菜鳥灣66號", 15666666666]; } $timeStart = microtime(true); $config = [ "path" => "/vagrant/", ]; $excel = new VtifulKernelExcel($config); $textFile = $excel->fileName("test.xlsx") ->header(["name", "age", "id_card", "address", "phone"]) ->data($data) ->outPut(); $timeEnd = microtime(true); $time = $timeEnd - $timeStart; echo "導(dǎo)出Excel花費(fèi): $time seconds ";laravel-excel
composer require maatwebsite/excel // 導(dǎo)出 Excel 并能直接在瀏覽器下載https://laravel-china.org/topics/1918/extension-how-to-deal-with-the-excel-file-in-the-laravel-project # $export_file_name = 要生成的文件名 Excel::create($export_file_name, function ($excel) { $excel->sheet("Sheetname", function ($sheet) { $sheet->appendRow(["data 1", "data 2"]); $sheet->appendRow(["data 3", "data 4"]); $sheet->appendRow(["data 5", "data 6"]); }); })->download("xls"); // 導(dǎo)出 Excel 并存儲到指定目錄 Excel::create($export_file_name, function ($excel) { $excel->sheet("Sheetname", function ($sheet) { $sheet->appendRow(["data 1", "data 2"]); $sheet->appendRow(["data 3", "data 4"]); $sheet->appendRow(["data 5", "data 6"]); }); })->store("xls", $object_path); 問題: 1. var_dump($reader->toArray());//第一行內(nèi)容為key,如果為中文,需要修改excel.php的 "to_ascii" => false, 2.大數(shù)字變成科學(xué)計(jì)數(shù) 如 11111111111 顯示成 1.11111E+29 導(dǎo)出 excel 錯誤 PHPExcel_Calculation_Exception: Q5!A65 → Formula Error: An unexpected error occured in /application/www/web_git-pull/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php:291 在excel中一個單元格如果是以“=”開頭,則說明這個單元格是根據(jù)其他單元格的值算出來的,“=”后面必須跟著一個合法的表達(dá)式,而那個字符串是用戶的輸入,很明顯不應(yīng)該是一個合法的表達(dá)式,所以應(yīng)該在代碼中過濾掉或者 $str = “ ”.$str;單文件
//https://github.com/mk-j/PHP_XLSXWriter/tree/master/examples 有很多測試代碼 include_once("xlsxwriter.class.php"); ini_set("display_errors", 0); ini_set("log_errors", 1); error_reporting(E_ALL & ~E_NOTICE); $filename = "example.xlsx"; // for($index = 0 ; $index < 250000 ; $index++){ $data[$index] = ["viest", 23, 666666666666666666, "銀河市地球區(qū)程序村PHP組菜鳥灣66號", 15666666666]; } $timeStart = microtime(true); $writer = new XLSXWriter(); $writer->writeSheet($data); $writer->writeToFile("example.xlsx"); $timeEnd = microtime(true); $time = $timeEnd - $timeStart; echo "導(dǎo)出Excel花費(fèi): $time seconds "; echo "#".floor((memory_get_peak_usage())/1024/1024)."MB"." ";Excel處理包
//https://github.com/bean-du/excel $writer = new ExcelWriter(); for ($i = 0; $i < 100; $i++){ for ($j = 0; $j < 10; $j++){ $data[$i][$j] = "test [".$i."]+[".$j."]"; } } $writer->setWidth(range("A","J")) ->setValue($data) ->setFormat("xls") ->setAlignment(array("A1","C1"),"CENTER") ->setBackgroundColor(array("A1","C1"),"#ccccc") ->setAlignment(array("A2","C2"),"RIGHT") ->setActiveSheetName("Bean") ->outPut("test.xls");down csv
function export_csv($filename) { header("Content-type:text/csv"); header("Content-Disposition:attachment;filename=".$filename); header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); header("Expires:0"); header("Pragma:public"); }
PDF、PPT、Excel、Word、視頻等格式文件在線預(yù)覽 http://jquery.malsup.com/media/ https://view.officeapps.live....{yourFileOnlinePath}
提供超大文件上傳的Laravel擴(kuò)展包https://github.com/peinhu/Aet...
PHP高效導(dǎo)出Excel https://segmentfault.com/a/11...
打造最全面的PHPExcel開發(fā)解決方案 https://segmentfault.com/a/11...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26301.html
摘要:本文非原創(chuàng),基于學(xué)院在中使用實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出功能這篇文章在實(shí)際中測試調(diào)整。簡介在中集成套件中的,從而方便我們以優(yōu)雅的富有表現(xiàn)力的代碼實(shí)現(xiàn)文件的導(dǎo)入和導(dǎo)出。 本文非原創(chuàng),基于laravel 學(xué)院《在 Laravel 5 中使用 Laravel Excel 實(shí)現(xiàn) Excel/CSV 文件導(dǎo)入導(dǎo)出功能》 這篇文章在實(shí)際中測試調(diào)整。 showImg(https://segmentfault.c...
摘要:一普遍導(dǎo)出方法在或是系統(tǒng)中導(dǎo)出是常有的事,做過的此功能人都知道,其主要操作其實(shí)是循環(huán)數(shù)據(jù)列表,然后一格一格地添加數(shù)據(jù)到固定的單元格中。 一.普遍導(dǎo)出方法 在crm或是oa系統(tǒng)中導(dǎo)出excel是常有的事,做過的此功能人都知道,其主要操作其實(shí)是循環(huán)數(shù)據(jù)列表,然后一格一格地添加數(shù)據(jù)到固定的單元格中。只要做好了一次,其后只要復(fù)制相關(guān)代碼修改修改,其他地方導(dǎo)出功能也就完成了。 但是這樣會有兩個問...
摘要:,是逗號分隔值的英文縮寫,通常都是純文本文件。如果你導(dǎo)出的沒有什么高級用法的話,只是做導(dǎo)出數(shù)據(jù)用那么建議使用本方法要比要高效的多。二十萬數(shù)據(jù)導(dǎo)出大概需要到秒。 CSV,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。如果你導(dǎo)出的Excel沒有什么高級用法的話,只是做導(dǎo)出數(shù)據(jù)用那么建議使用本方法,要比PHPexcel要高效的多。二十萬數(shù)據(jù)導(dǎo)出大概...
摘要:本篇文章主要講述,如何在中使用中導(dǎo)出文件,是博主在實(shí)踐了好多篇別人的帖子之后,總結(jié)歸納出來的文章,親測可用。我的博客歡迎騷擾原文地址用導(dǎo)出文件。將文件,重命名成。文章結(jié)束,歡迎轉(zhuǎn)載。 本篇文章主要講述,如何在thinkPHP中使用PHPExcel中導(dǎo)出Excel文件,是博主在實(shí)踐了好多篇別人的帖子之后,總結(jié)歸納出來的文章,親測可用。thinkPHP版本是3.2。 我的博客:Mine-...
摘要:上傳添加需下載類文件,引入到項(xiàng)目類庫里接收前臺文件,接收前臺文件重設(shè)置文件名設(shè)置移動路徑表用函數(shù)方法返回數(shù)組創(chuàng)建一個讀取數(shù)據(jù),可用于入庫引用類靜態(tài)類設(shè)置為代表支持或以下版本,代表版開始讀取上傳到服務(wù)器中的文件,返回一個二維數(shù)組 1.上傳添加excel (需下載PHPExcel類文件,引入到項(xiàng)目類庫里) //接收前臺文件, public function addExcel() ...
閱讀 1582·2021-11-02 14:42
閱讀 2321·2021-10-11 10:58
閱讀 670·2021-09-26 09:46
閱讀 2919·2021-09-08 09:35
閱讀 1418·2021-08-24 10:01
閱讀 1241·2019-08-30 15:54
閱讀 3613·2019-08-30 15:44
閱讀 1804·2019-08-30 10:49