【问题标题】:Laravel 8 maatwebsite/excel export dynamic raw query with headerLaravel 8 maatwebsite/excel 导出带有标题的动态原始查询
【发布时间】:2021-07-22 22:10:18
【问题描述】:

我已经在 Laravel 8 中成功安装并使用了 maatwebsite/excel,带有集合和“静态”查询。

现在我有一种情况,管理员用户可以创建自己的查询并将它们存储在数据库中(表名:exports),并带有一些占位符,例如:

select id, name as full_name, is_active as active from users where my_field > #my_field#;

我创建了一个导出模型,并在其中检索查询,替换所有占位符,然后我想以 excel 格式导出结果。

我的方法是这样的:

public function excel($params = []){
    $query = str_replace('#my_field#', $params["my_field"], $this->query);
    $values = DB::select($query);
    dd($values);
}

$values 正确包含所有信息,但现在我需要导出它们,带有标题,就像在查询结构中一样。

TLDR: Laravel 8:我正在尝试使用 maatwebsite/excel 导出带有标题的原始查询

【问题讨论】:

    标签: excel laravel export


    【解决方案1】:

    可以通过添加WithHeadings 关注点轻松添加标题行。标题行将添加为工作表的第一行。

    se Maatwebsite\Excel\Concerns\FromQuery;
    use Maatwebsite\Excel\Concerns\WithHeadings;
    
    class InvoicesExport implements FromQuery, WithHeadings
    {   
        public function headings(): array
        {
            return [
                '#',
                'User',
                'Date',
            ];
        }
    }
    

    https://docs.laravel-excel.com/3.1/exports/mapping.html#adding-a-heading-row

    【讨论】:

    • 不,这不是我的问题的答案。我需要一个基于查询结果的动态标题
    猜你喜欢
    • 1970-01-01
    • 2020-03-10
    • 2019-05-20
    • 1970-01-01
    • 2023-03-19
    • 2016-11-23
    • 2021-10-08
    • 2017-10-04
    • 2020-04-03
    相关资源
    最近更新 更多