xlsWriter-excel解析項(xiàng)目
為什么使用xlswriter
請(qǐng)參考下方對(duì)比圖;由于內(nèi)存原因,PHPExcel數(shù)據(jù)量相對(duì)較大的情況下無(wú)法正常工作,雖然可以通過(guò)修改memory_limit配置來(lái)解決內(nèi)存問(wèn)題,但完成工作的時(shí)間可能會(huì)更長(zhǎng);

xlswriter是一個(gè) PHP C 擴(kuò)展,可用于在 Excel 2007+ XLSX 文件中讀取數(shù)據(jù),插入多個(gè)工作表,寫(xiě)入文本、數(shù)字、公式、日期、圖表、圖片和超鏈接。
它具備以下特性:
一、寫(xiě)入
- 100%兼容的Excel XLSX文件
- 完整的Excel格式
- 合并單元格
- 定義工作表名稱(chēng)
- 過(guò)濾器
- 圖表
- 數(shù)據(jù)驗(yàn)證和下拉列表
- 工作表PNG/JPEG圖像
- 用于寫(xiě)入大文件的內(nèi)存優(yōu)化模式
- 適用于Linux,F(xiàn)reeBSD,OpenBSD,OS X,Windows
- 編譯為32位和64位
- FreeBSD許可證
- 唯一的依賴(lài)是zlib
二、讀取
- 完整讀取數(shù)據(jù)
- 光標(biāo)讀取數(shù)據(jù)
- 按數(shù)據(jù)類(lèi)型讀取
從這里開(kāi)始
PECL 倉(cāng)庫(kù)
IDE Helper
composer require viest/php-ext-xlswriter-ide-helper:dev-master
基準(zhǔn)測(cè)試
測(cè)試環(huán)境: Macbook Pro 13 inch, Intel Core i5, 16GB 2133MHz LPDDR3 Memory, 128GB SSD Storage.
導(dǎo)出
兩種內(nèi)存模式導(dǎo)出100萬(wàn)行數(shù)據(jù)(單行27列,數(shù)據(jù)類(lèi)型均為字符串,單個(gè)字符串長(zhǎng)度為19)
- 普通模式:耗時(shí)
29S,內(nèi)存只需2083MB; - 固定內(nèi)存模式:僅需
52S,內(nèi)存僅需<1MB;
導(dǎo)入
100萬(wàn)行數(shù)據(jù)(單行1列,數(shù)據(jù)類(lèi)型為INT)
- 全量模式:耗時(shí)
3S,內(nèi)存僅558MB; - 游標(biāo)模式:耗時(shí)
2.8S,內(nèi)存僅<1MB;
