laravel - Php电子表格: How to save the spreadsheet with a Laravel storage disk?

标签 laravel storage phpspreadsheet

我已经生成了一个有效的电子表格,并且可以使用记录在案的保存方法来保存它:

$writer = new Xlsx($spreadsheet);
$writer->save('file.xlsx');

但是如何使用 Laravel 提供的存储磁盘呢?我可以在将文件写入磁盘之前获取文件的内容吗?

最佳答案

我自己想出来的。由于这里没有 $writer->getContent() 方法是我的解决方法:

  • 保存到 php://输出
  • 使用 捕获文件内容ob_start/ob_get_contents .
  • 最后调用常规存储 put() 任何磁盘上的方法!

  • 这是我的代码:
        $writer = new Xlsx($spreadsheet);
    
        ob_start();
        $writer->save('php://output');
        $content = ob_get_contents();
        ob_end_clean();
    
        Storage::disk('local')->put("myfile.xlsx", $content); 
        Storage::disk('myftp')->put("myfile.xlsx", $content); 
    

    关于laravel - Php电子表格: How to save the spreadsheet with a Laravel storage disk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678542/

    相关文章:

    php - Laravel - 在 Eloquent 模型中返回自定义额外数据

    php - 按特殊关系排序查询并分页

    laravel 检查集合是否包含模型

    phpspreadsheet - 如何使用 phpspreadsheet 绘制或实现饼图?

    PhpSpreadsheet - 获取 d/m/Y 日期的原始字符串值,而不是转换为 float

    php - 如何使用 PHPSpreadsheet 在 Excel 上添加新行

    laravel - 在 Vuejs 中,我如何将选择选项绑定(bind)到对象

    Azure 表存储访问时间 - 插入/读取

    ios - 我们如何存储值示例 : "language" = "english" in local database in xamarin. ios

    c++ - 常量变量的存储分配