csv操作
$fp = fopen($filePath, 'a+');
fputcsv($fp, ['a' => 'a', 'b' => 'b']);
问题:Excel 已经检测到"xxx.xsl"是SYLK文件,但是不能将其加载解决方法
解决:如果将ID中的任意字母换成小写都不会出现此问题,估计是固定的识别“ID”或“ID_XXXX”
maatwebsite/excel 扩展
https://github.com/maatwebsite/Laravel-Excel
https://segmentfault.com/a/1190000014734174?utm_source=index-hottest
引入服务
$app->register(\Maatwebsite\Excel\ExcelServiceProvider::class);
定义类
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class logExcelExport implements FromCollection, WithHeadings
{
public $data;
public function __construct($data)
{
$this->data = collect($data);
}
public function collection()
{
return $this->data;
}
public function headings(): array
{
return [
'ID',
'标识',
'备注',
'创建时间',
'更新时间',
];
}
}
调用
Excel::store(new logExcelExport($data), $filePath);
新3.1.25版本支持导入功能
Excel::toArray($import, $path);
可能会遇到
mkdir(): No such file or directory
https://github.com/Maatwebsite/Laravel-Excel/issues/3011
是由于lumen和laravel不同,需要在storage下手动创建framework文件夹