我花了最后几天试图解决这个问题。我有一个带有几个标签(表格)的电子表格。最后一个选项卡在所有其他选项卡中输入值。使用以下公式自动填充这些值:
=$'otherSheetName'.A1
如果我离开calculateFormulas = true
,那么这些值将被读为空。
如果我设置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并提取我想要的值。
答案 0 :(得分:1)
您需要加载这些公式中使用的所有依赖关系表,尽管您不一定需要加载每个工作表,但可以传递工作表名称列表以作为数组加载
$objReader->setLoadSheetsOnly(["MySheet", "OtherSheet1", "OtherSheet2"]);
您不需要迭代任何其他工作表,但可以将活动工作表设置为您想要的任何工作表
$objReader->setActiveSheetIndexByName("MySheet");
然后调用活动工作表($objPHPExcel->getActiveSheet()->...
)来访问单元格将是对该工作表的引用。