php - 使用 phpspreadsheet lib 从命名电子表格中提取数据(数组)
问题描述
我不明白,我如何使用phpspreadsheet lib从命名电子表格中提取数据(数组) ,例如,我有许多命名电子表格(第一个、第二个等)的工作簿,我得到数组,所有命名电子表格:
代码:
$inputFileName = 'uploads/1.xlsx';
$inputFileType = IOFactory::identify($inputFileName);
$reader = IOFactory::createReader($inputFileType);
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load($inputFileName);
$worksheetNames = $reader->listWorksheetNames($inputFileName);
echo "<pre>";
print_r($worksheetNames);
echo "</pre>";
输出:
Array
(
[0] => firts
[1] => second
[2] => third
)
通过使用此示例,我可以获得活动(第一个)电子表格的所有数据:
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
print_r($sheetData);
但是我如何才能获得特定的“第二个”电子表格数据?
解决方案
您可以使用
$spreadsheet->getSheetNames();
获取所有工作表的列表,或者您可以迭代
for($i=1;$i<4;$i++){
$spreadsheet->getSheet($i);
}
有关更多信息,请查看此处的链接。
推荐阅读
- javascript - 在 discord.js 中获取审核日志在尝试获取删除消息的人时出现一些错误
- javascript - 计算具有文本删除线的单元格的数量
- c# - 如何在 AspNetCore 3.0 动作过滤器属性中正确重定向?
- ios - UISplitViewController 使用 hidesBottomBarWhenPushed 推送动画故障
- gnuradio - QPSK 在模拟中工作,但不适用于 SDR
- node.js - Firebase 托管:无法验证第一个证书
- c# - 在使功能虚拟工作时无法使用接口创建 Moq 测试
- azure-cosmosdb - 如何在 cosmos db 中进行分组和排序?
- node.js - 如何在客户端为 graphql 指定环境变量?
- puppeteer - puppeteer - page.type() 不起作用,但 element.setAttribute() 起作用?