maatwebsite/excel使用:导出——设置 | laravel china 社区-大发黄金版app下载

属性

默认情况下,工作表属性在 config/excel.php 中配置。你可以设置默认的标题、描述、创建者等信息。

如果你想在每次导出时覆盖这些属性,可以使用 withproperties 关注点。

namespace app\exports;
use maatwebsite\excel\concerns\withproperties;
class invoicesexport implements withproperties
{    
    public function properties(): array
    {
        return [
            'creator'        => 'patrick brouwers',
            'lastmodifiedby' => 'patrick brouwers',
            'title'          => 'invoices export',
            'description'    => 'latest invoices',
            'subject'        => 'invoices',
            'keywords'       => 'invoices,export,spreadsheet',
            'category'       => 'invoices',
            'manager'        => 'patrick brouwers',
            'company'        => 'maatwebsite',
        ];
    }
}

不需要返回所有属性,你可以省略不想覆盖的键。

namespace app\exports;
use maatwebsite\excel\concerns\withproperties;
class invoicesexport implements withproperties
{    
    public function properties(): array
    {
        return [
            'creator'        => 'patrick brouwers',
        ];
    }
}

自定义 csv 设置

默认情况下,laravel excel 使用 config/excel.php 中的默认设置。你可以通过添加 withcustomcsvsettings 接口来更改这些设置。

namespace app\exports;
use maatwebsite\excel\concerns\withcustomcsvsettings;
class invoicesexport implements withcustomcsvsettings
{    
    public function getcsvsettings(): array
    {
        return [
            'delimiter' => ';',
            'use_bom' => false,
            'output_encoding' => 'iso-8859-1',
        ];
    }
}

可用的 csv 设置

  • delimiter
  • enclosure
  • line_ending
  • use_bom
  • include_separator_line
  • excel_compatibility
  • output_encoding

单元格缓存

默认情况下,phpspreadsheet 将所有单元格值保存在内存中。但在处理大文件时,这可能会导致内存问题。为了缓解这一问题,你可以配置一个单元格缓存驱动程序。

当使用 illuminate 驱动程序时,它会将每个值存储在缓存存储中。这可能会减慢处理速度,因为它需要存储每个值。然而,它会占用更少的内存。它会自动使用你的默认缓存存储。如果你希望将单元格缓存存储在一个单独的存储中,可以在这里配置存储名称。你可以使用缓存配置中定义的任何存储。如果留空,则使用默认存储。

你可以使用 batch 存储,当达到内存限制时才持久化到存储。你可以在配置中调整内存限制。

本作品采用《cc 协议》,转载必须注明作者和本文链接
从零开发一个电商项目,功能包括电商后台、商品 & sku 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
网站地图