• 导出csv和xlsx
use BoxSpoutWriterWriterFactory;
use BoxSpoutCommonType;
$result = [];
for ($i = 0; $i < 100; $i++) {
    $arr = [
        'name' => Mock::name(),
        'age' =>Mock::number('10-80'),
        'email' =>Mock::email(),
        'address' =>Mock::address(),
        'times'=>Mock::datetime()
    ];
    $result[] = $arr;
}
    $reader =  WriterFactory::create(Type::XLSX);
    $reader->openToBrowser("测试.xlsx");//输出到浏览器
    //$reader->openToFile(storage_path('file/s.xlsx'));//输出到文件
    $reader->addRow([
        'name'   => '姓名',
        'age'   => '年龄',
        'email'     => '邮箱',
        'address'     => '地址',
        'times'=>'时间'
    ]);
    $reader->addRows($result);
    $reader->close();
  • 读取excel的xlsx和csv
use BoxSpoutReaderReaderFactory;
use BoxSpoutCommonType;
 $path = storage_path('file/a.xlsx');
 $type = pathinfo($path);
 $type = strtolower($type["extension"]);
 $type = ($type === 'xlsx')?Type::XLSX:Type::CSV;
 $reader = ReaderFactory::create($type);
$reader->setShouldFormatDates(true);
 if($type === 'csv'){$reader->setEncoding('GB2312');}
 $reader->open($path);
 $iterator = $reader->getSheetIterator();
 $iterator->rewind();
 $sheet1 = $iterator->current();
 $rowIter = $sheet1->getRowIterator();
 $data =[];
 foreach ($rowIter as $rowIndex => $row) {
     $data[] = $row;
 }
 $reader->close();