Không tìm thấy lớp PhpOfficePhpSpreadsheetReaderXlsx

đây là tập lệnh của tôi mà tôi đã điều chỉnh theo ví dụ về nguồn dữ liệu excel tiêu chuẩn koolreport

array[
                "read_excel"=>array[
                    "class"=>ExcelDataSource::class,
                    "filePath"=>dirname[__FILE__]."\\"."temp\data_tes.xlsx"
                ]
            ]
        ];
    }
    public function setup[]
    {
        $result = $this->src['read_excel']
        ->pipe[$this->dataStore["data_tes.excel"]];
    }
}
    $param = file_get_contents["php://input"];
    $cls = new tes;
    $cls->run[]->render[];
?>

Và đây là kết quả


Fatal error: Uncaught Error: Class 'PhpOffice\PhpSpreadsheet\IOFactory' not found in D:\PhpProject\gsapi\vendor\koolreport\excel\ExcelDataSource.php:91 Stack trace: #0 D:\PhpProject\gsapi\vendor\koolreport\core\src\KoolReport.php[315]: koolreport\excel\ExcelDataSource->start[] #1 D:\PhpProject\gsapi\pltfrm\manifest\tes.php[30]: koolreport\KoolReport->run[] #2 {main} thrown in D:\PhpProject\gsapi\vendor\koolreport\excel\ExcelDataSource.php on line 91

Je suis débutant en laravel et j'aimerais utiliser Phpspreadsheet pour un petit projet. Le seul soucis c'est que bien qu'ayant suivi à la lettre toutes les dimensions de phpspreadsheet, laravel me renvoie une erreur. Không tìm thấy lớp lỗi 'PhpOffice\PhpSpreadSheet\Spreadsheet'

Voici le contenu de mon fichier route

Le contenu du controleur auquel je fais appel :

________1

J'ai installé Phpspreadsheet dans mon projet à l'aide de la commande:composer require phpoffice/phpspreadsheet Je me suis même assuré d'optimiser les ressources en faisant à la fin de l'installation un. composer dump-autoload

J'ai xác thực dans le psr-4 de mon autoload si la ressource est bien chargeée et effect je la retrouve

Tôi gặp sự cố khi mô-đun này hoạt động và tôi không chắc liệu mình có thiếu thứ gì đó hay mô-đun này không hoạt động bình thường với Drupal 9/Nhà soạn nhạc

Tôi có thể cài đặt mô-đun thông qua trình soạn thảo và nó sẽ cài đặt tất cả các phụ thuộc. Tuy nhiên, khi tôi thử và sử dụng định dạng XLS trong chế độ xem xuất REST, tôi gặp lỗi này khi thử và xem URL xuất

Tôi đã sử dụng Composer để cài đặt phpoffice/phpspreadsheet. Nó đã được cài đặt trong thư mục 'nhà cung cấp' cơ sở. Tuy nhiên, nơi tôi cần sử dụng nó nằm trong thư mục tên miền phụ. Tôi đã tự chuyển nó sang một thư mục 'nhà cung cấp' khác

sâu hơn một chút. /public_html/tên miền phụ/trang web mới/nhà cung cấp/

Tôi đang gọi mã từ một tệp sâu hơn một chút. /phụ trợ/web/xlsx. php

mã thực tế của tôi là như sau


Chỉ với bộ đơn giản này, tôi gặp phải lỗi nghiêm trọng sau

Class 'PhpOffice\PhpSpreadsheet\Spreadsheet' not found

Tôi vẫn đang tìm hiểu một chút về không gian tên và trình soạn thảo và tôi có thể đã bỏ sót điều gì đó khi di chuyển các tệp theo cách thủ công

Tôi có bộ điều khiển có thể nhập dữ liệu từ tệp excel bằng PhpSpreadsheet và tôi đã cài đặt bộ điều khiển đó bằng trình soạn thảo.
Nó hoạt động khi tôi sử dụng nó trên máy tính cục bộ của mình
nhưng sau khi tôi tải nó lên máy chủ Debian, lỗi xuất hiện
Class 'PhpOffice\PhpSpreadsheet\Reader\Xls' not found

đây là mã điều khiển của tôi

use PhpOffice\PhpSpreadsheet\Helper\Sample;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

    public function import[]
    {
        $this->loadModel['Students'];

        $group_id = $this->request->getData[]['group_id'];
        $files = $this->request->getUploadedFiles[];
        $files['import']->getClientFileName[];
        $tmpFilePath = $files['import']->getStream[]->getMetadata['uri'];        
        $files['import']->getStream[]->close[];

        $myname = $this->request->getData[]['import']->getClientFileName[];
        $myext = substr[strchr[$myname, "."], 1];
        if [$myext == 'xls'] {
            $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls[];
        }else if[$myext == 'xlsx']{
            $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx[];
        }
        
        $spreadsheet = $reader->load[$tmpFilePath];
        $sheet = $spreadsheet->getActiveSheet[]->toArray[];
        foreach [$sheet as $key => $excel]{
            if [$key == 0] {
                continue;
            } 
            
            $data = [
                'nis' => $excel[1],
                'name' => $excel[2],
                'password' => $excel[1],
                'group_id' => $group_id,
            ];
            
            $student = $this->Students->newEmptyEntity[];
            $student = $this->Students->patchEntity[$student, $data];
            if [$excel[1] != null AND $excel[2] != null] {
                if [$this->Students->save[$student]] {
                    $this->Flash->success[__['The student has been saved.']];
                }
            }else{
                $this->Flash->error[__['The student could not be saved. Please, try again.']];
            }
        }
        return $this->redirect[['action' => 'detail', $group_id]];
    }

Xin vui lòng tôi cần sự giúp đỡ của bạn

Chủ Đề