我有执行计算所需的Excel工作表。 我现在正在使用PHPSpreadsheet进行读写,因为现在不推荐使用PHPExcel。
我遇到的问题是从特定列获取值以进行计算。
浏览完文档后,我发现可以使用rangeToArray()函数来检索值。 我的代码如下:
$inputFiletype = 'Xlsx';
$inputFileName = './helloworld.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$find_val = $spreadsheet->getActiveSheet()->rangeToArray('K1:K5');
根据文档,这将创建一个数组($ find_vals)。 但是,当我尝试遍历数组以查看值时,会收到“数组到字符串转换”的通知,输出为“ Array”。
如果我使用var_dump,则会得到以下信息:
array(5) { [0]=> array(1) { [0]=> float(1) } [1]=> array(1) { [0]=> float(2) } [2]=> array(1) { [0]=> float(3) } [3]=> array(1) { [0]=> float(4) } [4]=> array(1) { [0]=> float(5) } }
我尝试了以下循环代码:
for($i=0; $i<=4; $i++) {
echo (string)$find_val[$i];
}
以及
foreach($find_val as $vals) {
echo $vals;
}
我还尝试了以下操作,这些操作对结果有一些改变:
for($i=0; $i<=4; $i++) {
echo (string)$find_val[$i][$i];
}
此输出一个值,并给我其他4次迭代的未定义偏移量错误。
如何使用PhpSpreadsheet API成功地遍历rangeToArray值?
谢谢。
答案 0 :(得分:0)
类似的答案here
foreach ($find_val as $cell) {
foreach ($cell as $finalValue) {
echo $finalValue . "\r\n";
}
}
答案 1 :(得分:0)
现在刚看到您的帖子。你尝试过吗?
你快到了
foreach($sheetData as $vals) {
echo $vals[0];
}