PHPExcel:如何从内容来自其他工作表中的单元格的单元格中读取值

PHPExcel: how to read values from cells which the contents come from cells in other sheets

我最近几天一直在努力解决这个问题。我有一个带有几个选项卡(工作表)的电子表格。最后一个选项卡具有在所有其他选项卡中输入的值。这些值是使用以下公式自动填充的:

=$'otherSheetName'.A1

如果我离开 calculateFormulas = true,这些值将被读取为 null。 如果我设置 calculateFormulas = false 值被读取为文字公式。

我最初使用 LaravelExcel,但我放弃了寻找解决方案,所以我转向 PHPExcel。 Laravel Excel 的解决方案也将不胜感激。

谢谢

更新: 我如何读取 PHPExcel:

中的值
$inputFileType = PHPExcel_IOFactory::identify($file->getRealPath());
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setLoadSheetsOnly("MySheet");
$objPHPExcel = $objReader->load($file->getRealPath()); 
$rows = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

然后,我遍历数组 $rows 并提取我想要的值。

你需要加载那些公式中使用的所有依赖sheet,虽然你不一定需要加载每个工作sheet,但可以传递一个列表sheet 要作为数组加载的名称

$objReader->setLoadSheetsOnly(["MySheet", "OtherSheet1", "OtherSheet2"]);

您不需要迭代任何其他工作sheet,但可以将活动工作sheet设置为您想要的任何sheet

$objReader->setActiveSheetIndexByName("MySheet");

然后对活动 sheet ($objPHPExcel->getActiveSheet()->...) 的任何访问单元格调用都将引用该作品sheet。