为了账号安全,请及时绑定邮箱和手机立即绑定

调用未定义的方法 PhpOffice\PhpSpreadsheet\Spreadsheet

调用未定义的方法 PhpOffice\PhpSpreadsheet\Spreadsheet

PHP
暮色呼如 2023-07-15 16:55:32
我想列出工作簿中的所有工作表名称,但出现以下错误:Call to undefined method PhpOffice\PhpSpreadsheet\Spreadsheet::listWorksheetNames()这是我的代码:<?phprequire_once('vendor/autoload.php');use PhpOffice\PhpSpreadsheet\Reader\Xlsx;use PhpOffice\PhpSpreadsheet\IOFactory; $inputFileName = 'uploads/1.xlsx';$spreadsheet = IOFactory::load($inputFileName);$worksheetNames = $spreadsheet->listWorksheetNames();echo '<h3>Worksheet Names</h3>';echo '<ol>';foreach ($worksheetNames as $worksheetName) {    echo '<li>', $worksheetName, '</li>';}echo '</ol>';?>我尝试重复:https://phpspreadsheet.readthedocs.io/en/latest/topics/reading-files/#reading-only-named-worksheets-from-a-file我的错误在哪里?
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

尝试将第 8 行更改为$spreadsheet = IOFactory::createReader($inputFileName);.

如果您查看文件IOFactory#L61,您将能够注意到它createReader返回一个Reader\IReader对象。

另一方面,同一文件load中的函数返回一个Spreadsheet对象。

函数listWorksheetNames属于 Readers,例如,您可以在Reader/Xlsx.php中看到。

简单地说:您只能调用listWorksheetNamesReader 对象。


查看完整回答
反对 回复 2023-07-15
  • 1 回答
  • 0 关注
  • 380 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信