首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel中找不到'PhpOffice\phpspreadsheet\src\PhpSpreadsheet\Spreadsheet‘类

在Laravel中找不到'PhpOffice\phpspreadsheet\src\PhpSpreadsheet\Spreadsheet‘类
EN

Stack Overflow用户
提问于 2021-12-06 12:03:13
回答 1查看 2.6K关注 0票数 -2

在我的Laravel项目中,我使用PhpOffice Spreadsheet从datatable下载数据作为excel格式。

为此,我需要在控制器、路由和视图中添加代码。

控制器

我在控制器中使用了下面的命名空间

代码语言:javascript
复制
<?php

    namespace App\Http\Controllers;

    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
    use PhpOffice\PhpSpreadsheet\Writer\Xls;
    use App\OfferCustomersDataTbl;

    public function export($type) {
        $offer_customer_data = OfferCustomersDataTbl::all();
        $spreadsheet = new Spreadsheet();
        $sheet = $spreadsheet->getActiveSheet();
        $sheet->setCellValue('A1', 'Id');
        $sheet->setCellValue('B1', 'Name');
        $sheet->setCellValue('C1', 'Email');
        $rows = 2;

        foreach($offer_customer_data as $empDetails){
            $sheet->setCellValue('A' . $rows, $empDetails['id']);
            $sheet->setCellValue('B' . $rows, $empDetails['name']);
            $sheet->setCellValue('C' . $rows, $empDetails['email']);
            $rows++;
        }

        $fileName = "emp.".$type;
        if($type == 'xlsx') {
        $writer = new Xlsx($spreadsheet);
        } else if($type == 'xls') {
        $writer = new Xls($spreadsheet);
        }
        $writer->save("export/".$fileName);
        header("Content-Type: application/vnd.ms-excel");
        return redirect(url('/')."/export/".$fileName);
    }

路由

代码语言:javascript
复制
Route::get('/export/{type}', 'OfferCustomersDataController@export');

视图

代码语言:javascript
复制
<a href="{{ url('/') }}/export/xlsx" class="btn btn-info">Export to .xlsx</a>

但是当我点击Download as Excel按钮下载时,总是会出现错误。

找不到'PhpOffice\phpspreadsheet\src\PhpSpreadsheet\Spreadsheet‘类

但是Spreadsheet类就在那个位置,我已经检查过好几次了。

我想不出的问题在哪里。

有人帮忙吗?提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-06 12:06:29

命令行中:composer require phpoffice/phpspreadsheet

然后在控制器中:

代码语言:javascript
复制
use PhpOffice\PhpSpreadsheet\Spreadsheet;

使用“名称空间”\“类名”,而不是绝对链接

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70245199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档