關于 PHP 導出 excel csv 常用的有 PHPexcel ,本文整理了一些其他方案。
高性能 Excel 擴展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, "銀河市地球區程序村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 "導出Excel花費: $time seconds ";laravel-excel
composer require maatwebsite/excel // 導出 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"); // 導出 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());//第一行內容為key,如果為中文,需要修改excel.php的 "to_ascii" => false, 2.大數字變成科學計數 如 11111111111 顯示成 1.11111E+29 導出 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中一個單元格如果是以“=”開頭,則說明這個單元格是根據其他單元格的值算出來的,“=”后面必須跟著一個合法的表達式,而那個字符串是用戶的輸入,很明顯不應該是一個合法的表達式,所以應該在代碼中過濾掉或者 $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, "銀河市地球區程序村PHP組菜鳥灣66號", 15666666666]; } $timeStart = microtime(true); $writer = new XLSXWriter(); $writer->writeSheet($data); $writer->writeToFile("example.xlsx"); $timeEnd = microtime(true); $time = $timeEnd - $timeStart; echo "導出Excel花費: $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、視頻等格式文件在線預覽 http://jquery.malsup.com/media/ https://view.officeapps.live....{yourFileOnlinePath}
提供超大文件上傳的Laravel擴展包https://github.com/peinhu/Aet...
PHP高效導出Excel https://segmentfault.com/a/11...
打造最全面的PHPExcel開發解決方案 https://segmentfault.com/a/11...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26301.html
摘要:本文非原創,基于學院在中使用實現文件導入導出功能這篇文章在實際中測試調整。簡介在中集成套件中的,從而方便我們以優雅的富有表現力的代碼實現文件的導入和導出。 本文非原創,基于laravel 學院《在 Laravel 5 中使用 Laravel Excel 實現 Excel/CSV 文件導入導出功能》 這篇文章在實際中測試調整。 showImg(https://segmentfault.c...
摘要:一普遍導出方法在或是系統中導出是常有的事,做過的此功能人都知道,其主要操作其實是循環數據列表,然后一格一格地添加數據到固定的單元格中。 一.普遍導出方法 在crm或是oa系統中導出excel是常有的事,做過的此功能人都知道,其主要操作其實是循環數據列表,然后一格一格地添加數據到固定的單元格中。只要做好了一次,其后只要復制相關代碼修改修改,其他地方導出功能也就完成了。 但是這樣會有兩個問...
摘要:,是逗號分隔值的英文縮寫,通常都是純文本文件。如果你導出的沒有什么高級用法的話,只是做導出數據用那么建議使用本方法要比要高效的多。二十萬數據導出大概需要到秒。 CSV,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。如果你導出的Excel沒有什么高級用法的話,只是做導出數據用那么建議使用本方法,要比PHPexcel要高效的多。二十萬數據導出大概...
摘要:本篇文章主要講述,如何在中使用中導出文件,是博主在實踐了好多篇別人的帖子之后,總結歸納出來的文章,親測可用。我的博客歡迎騷擾原文地址用導出文件。將文件,重命名成。文章結束,歡迎轉載。 本篇文章主要講述,如何在thinkPHP中使用PHPExcel中導出Excel文件,是博主在實踐了好多篇別人的帖子之后,總結歸納出來的文章,親測可用。thinkPHP版本是3.2。 我的博客:Mine-...
摘要:上傳添加需下載類文件,引入到項目類庫里接收前臺文件,接收前臺文件重設置文件名設置移動路徑表用函數方法返回數組創建一個讀取數據,可用于入庫引用類靜態類設置為代表支持或以下版本,代表版開始讀取上傳到服務器中的文件,返回一個二維數組 1.上傳添加excel (需下載PHPExcel類文件,引入到項目類庫里) //接收前臺文件, public function addExcel() ...
閱讀 1578·2021-11-02 14:42
閱讀 2320·2021-10-11 10:58
閱讀 667·2021-09-26 09:46
閱讀 2917·2021-09-08 09:35
閱讀 1413·2021-08-24 10:01
閱讀 1240·2019-08-30 15:54
閱讀 3610·2019-08-30 15:44
閱讀 1802·2019-08-30 10:49