質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1688閲覧

use PhpOffice\PhpSpreadsheet\Reader\Xlsx で not foundが出る

pinako06

総合スコア15

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/07/20 07:03

編集2022/07/21 04:29

前提

PHPでExcelのデータを取得したいのでPhpSpreadsheetを使いたいです。
composerもインストール済みです。
~windows cmdのログ~

C:\Users\myname>composer require phpoffice/phpspreadsheet Using version ^1.24 for phpoffice/phpspreadsheet ./composer.json has been updated Running composer update phpoffice/phpspreadsheet Loading composer repositories with package information Updating dependencies Lock file operations: 11 installs, 0 updates, 0 removals - Locking ezyang/htmlpurifier (v4.14.0) - Locking maennchen/zipstream-php (2.2.1) - Locking markbaker/complex (3.0.1) - Locking markbaker/matrix (3.0.0) - Locking myclabs/php-enum (1.8.3) - Locking phpoffice/phpspreadsheet (1.24.1) - Locking psr/http-client (1.0.1) - Locking psr/http-factory (1.0.1) - Locking psr/http-message (1.0.1) - Locking psr/simple-cache (2.0.0) - Locking symfony/polyfill-mbstring (v1.26.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 11 installs, 0 updates, 0 removals - Downloading myclabs/php-enum (1.8.3) - Downloading psr/simple-cache (2.0.0) - Downloading markbaker/matrix (3.0.0) - Downloading markbaker/complex (3.0.1) - Downloading symfony/polyfill-mbstring (v1.26.0) - Downloading maennchen/zipstream-php (2.2.1) - Downloading ezyang/htmlpurifier (v4.14.0) - Downloading phpoffice/phpspreadsheet (1.24.1) - Installing myclabs/php-enum (1.8.3): Extracting archive - Installing psr/simple-cache (2.0.0): Extracting archive - Installing psr/http-message (1.0.1): Extracting archive - Installing psr/http-factory (1.0.1): Extracting archive - Installing psr/http-client (1.0.1): Extracting archive - Installing markbaker/matrix (3.0.0): Extracting archive - Installing markbaker/complex (3.0.1): Extracting archive - Installing symfony/polyfill-mbstring (v1.26.0): Extracting archive - Installing maennchen/zipstream-php (2.2.1): Extracting archive - Installing ezyang/htmlpurifier (v4.14.0): Extracting archive - Installing phpoffice/phpspreadsheet (1.24.1): Extracting archive 4 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 3 packages you are using are looking for funding. Use the `composer fund` command to find out more!

発生している問題・エラーメッセージ

$reader = new XlsxReader();の時点で
"PhpOffice\PhpSpreadsheet\Reader\Xlsx" not found
になってしまします。

PHP Fatal error: Uncaught Error: Class "PhpOffice\PhpSpreadsheet\Reader\Xlsx" not found in C:\xampp\htdocs\xxxx\index.php

該当のソースコード

PHP

1<?php 2include('./vendor/autoload.php'); 3//require './vendor/autoload.php'; 4use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader; 5//use phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Xlsx as XlsxReader; 6 7~略~ 8 9function XXX($aaa){ 10 11 $reader = new XlsxReader(); ←ここでエラー

試したこと

①includeやrequireの部分を変える

include('./vendor/autoload.php');の部分を
require './vendor/autoload.php';に変えても同じエラーが出ました。

②use コマンドの引数を変える

PHP Fatal error: Uncaught Error: Class "PhpOffice\PhpSpreadsheet\Reader\Xlsx" not found in C:\xampp\htdocs\xxxx\index.php

というエラーなので、vendor以下のフルパスを確認しました。
フルパスは以下です。
C:\Users\myname\vendor\phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Xlsx

そこで、
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
ではなく
use phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Xlsx as XlsxReader;
でも試しましたが、
同様のエラーが出ました。

PHP Fatal error: Uncaught Error: Class "phpoffice\phpspreadsheet\src\PhpSpreadsheet\Reader\Xlsx" not found in C:\xampp\htdocs\xxxx\index.php

補足情報(FW/ツールのバージョンなど)

PHP 8.0.8

PHP初心者で、cmdのコマンドも至らない状況ですが、
ご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/07/20 08:18

use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader; だと思うのだけど
pinako06

2022/07/20 08:26

説明漏れてました申し訳ありません。 当初、上記のコードで実行したのですがエラーになってしまったため、フルパスを調べて書き換えています。
m.ts10806

2022/07/21 04:17

同じ質問立てられてませんか? 質問は編集できますし、編集することで「アクティブ」としてあがってくるので、 新たに同じ質問を立てる必要はありません(低評価理由にもあります)
pinako06

2022/07/21 04:24

使い方がわからず、失礼しました。 同じ質問削除し再度編集させていただきます。ご指摘ありがとうございます。
guest

回答1

0

自己解決

自己解決しました。
cmd上でC:\xampp\htdocs\xxxx\index.php のある
C:\xampp\htdocs\xxxxに移動し、
composer require phpoffice/phpspreadsheet
を実行したらできました。
実行フォルダにrequire しなきゃいけないってことですね。
常識すぎることかもしれませんが…ありがとうございました。

投稿2022/07/21 04:41

pinako06

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問