我想列出工作簿中的所有工作表名称,但出现以下错误: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中看到。
简单地说:您只能调用listWorksheetNames
Reader 对象。
- 1 回答
- 0 关注
- 380 浏览
添加回答
举报
0/150
提交
取消