每次碰到Excel的匯入或者匯出的問題都十分頭疼,雖然有PHPExcel這樣的工具,但是功能太多太雜,很多功能壓根就用不上,只需要簡單的從檔案獲取資料或者寫入資料,所以寫了個輪子簡單的封裝了一些常用功能。
Installation
$ composer require "rekkles/easyexcel" -vvv
Usage
use EasyExcel\Read\ExcelToArray;
use EasyExcel\Read\ChunkReadFilter;
//簡單獲取Excel的資料為Array
$config = ['firstRowAsIndex' => true];
$getData = new ExcelToArray('/Users/rekkles/code/data.csv', $config);
$getData->load();
var_dump($getData->getData());
//分批獲取Excel的資料(防止記憶體洩漏)
$chunk = new ChunkReadFilter();
$chunk->setRows(10, 2);
$data = new ExcelToArray('/Users/rekkles/code/data.csv', $config);
var_dump($data->loadByChunk($chunk)->getData());
//寫入Excel 生成檔案到指定目錄
$outObj = new ArrayToExcel(array(
'fileName' => 'test.csv', //匯出的excel的檔案的名稱
'creator' => 'Rekkles', //建立者
'writeType' => 'CSV', //輸出型別 Excel5 Excel7 CSV
'path' => ROOT_PATH.'file/', //輸出路徑 確保有寫入許可權
));
$firstRow = array(1111,2222,3333);
$content = array(
['aaa','bbb','ccc'],
['ddd','eee','fff']);
$outObj->setFirstRow($firstRow)->fillData(content);
Documentation
目前是第一版,功能還在逐漸完善中。
程式碼不是很複雜,針對PHPExcel封裝了一部,
遇到問題可以自行debug,有bug提交PR就更好了!
Feature
1.批量匯入、匯出
2.支援更多的檔案格式
專案地址:EasyExcel