• ベストアンサー

PHP spreadsheetを使ってエラー

お世話になります。 PHP Spreadsheet を使って、Excelファイルから情報を集めるPHPプログラムを作っていますが、次のようなエラーメッセージが出てきて情報を読めません。 Could not find zip member zip://C:/Users/.... これはいったいどういう意味なのでしょうか?Excel ファイル以外に何のZIPファイルが必要なのでしょうか? 詳しい方がいらっしゃいましたら、ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.4

ちなみに、なぜZIPが関係しているのかですが、xlsxファイルはファイル群をZIP形式で圧縮したファイルになっています。 xlsxファイルの拡張子をzipにすると展開できますので、展開されたファイル群を確認してみてください。 PhpSpreadsheetに限ったことではありませんが、xlsxファイルは展開されて、その中にあるファイル群を読み書きしているためZIPが必要になっています。

papashiroSooke
質問者

お礼

ご回答ありがとうございました。 お礼が遅れたことをお詫びいたします。 拡張子をzip に変えてやってみます。

Powered by GRATICA

その他の回答 (3)

  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.3

xls を読み込む場合は、 PhpOffice\PhpSpreadsheet\Reader\Xls を使ってみてください。

papashiroSooke
質問者

お礼

ご回答ありがとうございます。 お礼が遅れたことをお詫び申し上げます。 ご指摘のPhpOffice\PhpSpreadsheet\Reader\Xls  を使ってやってみます。

Powered by GRATICA
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.2

もしかして拡張子が xls のものを読み込もうとしていないですか。 試してみたところ、 xlsx だとエラーにはならなかったですが、 xls を読み込むと同じエラーになりました。

papashiroSooke
質問者

お礼

ご回答ありがとうございます。 お礼が遅れたことをお詫び申し上げます。 確かにExcelファイルの中にはXls拡張子のもの含まれていました。これらは一旦読み込んでからXlsxでセーブして読み込んでみます。

Powered by GRATICA
回答No.1

プログラムを作っているなら、5W1Hを意識して質問しましょう。 >次のようなエラーメッセージが出てきて情報を読めません。 プログラムのどの部分で、エラーとなっているかもわかりませんか? どのメソッドでエラーとなっているなどが分からんと、エラーメッセージからの推測でしか答えられません。 >これはいったいどういう意味なのでしょうか? エラーメッセージに書いてある通りです。 Could not find zip member zip://C:/Users/.... から、何かしらのファイルが見つからないと推測出来ます。 「PHP Spreadsheet Could not find zip member」 で、Google検索すると、以下に辿り着きました。 https://stackoverflow.com/questions/69594200/fatal-error-uncaught-phpoffice-phpspreadsheet-reader-exception-could-not-find 英語ですが、日本語に翻訳してみてください。 ここからの推測ではExcelファイルのフルパスをメソッドのパラメーターで指定してるものと思われますが、そのパスにファイルが無い、もしくは、権限で見れない、有効なxlsxなどではないなどの原因が考えられます。ここを参考にプログラムを修正してみてください。

papashiroSooke
質問者

お礼

ご回答ありがとうございます。 お礼が遅れたことをお詫びいたします。 送っていただいた英語のサイトをよく読んで研究したいと思います。

Powered by GRATICA

関連するQ&A