如何将Laravel Excel存储在邮政编码中

发布于 2025-02-10 01:01:45 字数 1705 浏览 1 评论 0原文

我有一个将Excel文件导出作为计划的作业的类:

class exportExcelBasedOnID {
  public function __construct(ScheduleJob $scheduleJob) {
    $scheduleJob->processed_at = Carbon::now();
        $scheduleJob->processing = true;
        $scheduleJob->exception = null;
        $scheduleJob->save();

        $this->exportExcels($scheduleJob);
    }

  private function exportExcels(ScheduleJob $scheduleJob) {

    $school = $scheduleJob->school;
        $payload = unserialize($scheduleJob->payload);
        $id = $payload['id'];
        $requestUser = User::where('id', $scheduleJob->user_id)->first();
        $students = Excels::where('id', $id);
        $locale = array_key_exists('locale', $payload) ? $payload['locale'] : \App::getLocale();

//a bunch of code to create the file with format called $final

    $final->store('xlsx', storage_path('app/public/EXCEL/'.$school->school_code));
        
        $payload = unserialize($scheduleJob->payload);
        $payload['payload'] = $name.'.xlsx';
        $scheduleJob->payload = serialize($payload);
        $scheduleJob->processed_at = Carbon::now();
        $scheduleJob->exception = null;
        $scheduleJob->processing = false;
        $scheduleJob->save();
    }
}

如何将其连接到以下工作然后?

我的邮政编码:

public function export_schedule_zip(School $school, Request $request)
    {
        $zip = new ZipArchive;
        $zipname = 'students.zip';
        $zip_folder = 'student';
        $zip->open($zipname, ZipArchive::CREATE);
        $zip->addEmptyDir($zip_folder);

        $zip->close();
        return response()->download($zipname);

    }


I have a class that exports a excel file as a scheduled job:

class exportExcelBasedOnID {
  public function __construct(ScheduleJob $scheduleJob) {
    $scheduleJob->processed_at = Carbon::now();
        $scheduleJob->processing = true;
        $scheduleJob->exception = null;
        $scheduleJob->save();

        $this->exportExcels($scheduleJob);
    }

  private function exportExcels(ScheduleJob $scheduleJob) {

    $school = $scheduleJob->school;
        $payload = unserialize($scheduleJob->payload);
        $id = $payload['id'];
        $requestUser = User::where('id', $scheduleJob->user_id)->first();
        $students = Excels::where('id', $id);
        $locale = array_key_exists('locale', $payload) ? $payload['locale'] : \App::getLocale();

//a bunch of code to create the file with format called $final

    $final->store('xlsx', storage_path('app/public/EXCEL/'.$school->school_code));
        
        $payload = unserialize($scheduleJob->payload);
        $payload['payload'] = $name.'.xlsx';
        $scheduleJob->payload = serialize($payload);
        $scheduleJob->processed_at = Carbon::now();
        $scheduleJob->exception = null;
        $scheduleJob->processing = false;
        $scheduleJob->save();
    }
}

How do I connect it to the following so instead of the excel file being scheduled to download, the excel is stored in a folder called students and zipped and then be scheduled to download afterwards?

My zip code:

public function export_schedule_zip(School $school, Request $request)
    {
        $zip = new ZipArchive;
        $zipname = 'students.zip';
        $zip_folder = 'student';
        $zip->open($zipname, ZipArchive::CREATE);
        $zip->addEmptyDir($zip_folder);

        $zip->close();
        return response()->download($zipname);

    }


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文