成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

php 導(dǎo)出 excel

付永剛 / 435人閱讀

關(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

相關(guān)文章

  • 在 Laravel 5 中使用 Laravel Excel 實(shí)現(xiàn) Excel/CSV 文件導(dǎo)入導(dǎo)出

    摘要:本文非原創(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...

    XFLY 評論0 收藏0
  • php通用的excel導(dǎo)出方法

    摘要:一普遍導(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)出功能也就完成了。 但是這樣會有兩個問...

    dendoink 評論0 收藏0
  • PHP高效導(dǎo)出Excel(CSV)

    摘要:,是逗號分隔值的英文縮寫,通常都是純文本文件。如果你導(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)出大概...

    DoINsiSt 評論0 收藏0
  • ThinkPHPPHPExcle導(dǎo)出Excel文件

    摘要:本篇文章主要講述,如何在中使用中導(dǎo)出文件,是博主在實(shí)踐了好多篇別人的帖子之后,總結(jié)歸納出來的文章,親測可用。我的博客歡迎騷擾原文地址用導(dǎo)出文件。將文件,重命名成。文章結(jié)束,歡迎轉(zhuǎn)載。 本篇文章主要講述,如何在thinkPHP中使用PHPExcel中導(dǎo)出Excel文件,是博主在實(shí)踐了好多篇別人的帖子之后,總結(jié)歸納出來的文章,親測可用。thinkPHP版本是3.2。 我的博客:Mine-...

    rollback 評論0 收藏0
  • phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)

    摘要:上傳添加需下載類文件,引入到項(xiàng)目類庫里接收前臺文件,接收前臺文件重設(shè)置文件名設(shè)置移動路徑表用函數(shù)方法返回數(shù)組創(chuàng)建一個讀取數(shù)據(jù),可用于入庫引用類靜態(tài)類設(shè)置為代表支持或以下版本,代表版開始讀取上傳到服務(wù)器中的文件,返回一個二維數(shù)組 1.上傳添加excel (需下載PHPExcel類文件,引入到項(xiàng)目類庫里) //接收前臺文件, public function addExcel() ...

    zengdongbao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<