maatwebsite/Excel 3.1 Laravel-Excel 文档及问题笔记

Laravel tytrock ⋅ 于 2019-05-22 17:41:10 ⋅ 5475 阅读

...


中文文档:https://segmentfault.com/a/1190000014734174

样式设置:https://phpspreadsheet.readthedocs.io/en/latest/



问题汇总


1、问题:导出文件提示file_put_contents(): Filename cannot be empty


解决方案:修改config/excel.php文件中local_path的值为storage文件夹路径

'local_path'  => storage_path(),//sys_get_temp_dir(),


2、导入中日期变为数字

原因是导入的时候读取的实际是这个日期的常规格式,意思是从1900-01-01到这个日期一共过去了多少天。

解决方案:

$date = $row['日期'];
$d = 25569;
$t = 24 * 60 * 60;
$at = gmdate('Y-m-d H:i:s', ($date - $d) * $t);


3、导入含有多个sheet时报错Start row (2) is beyond highest row (1)

导入类里use一下WithMultipleSheets

<?php
namespace App\Helper\Excel;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;

class Import implements ToCollection, WithHeadingRow, WithMultipleSheets
{
	public function collection(Collection $rows)
    {
        
    }

    public function sheets(): array
    {
        return [
            0 => new static,
        ];
    }
}



回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter