在 PhpSpreadsheet 中遍历 rangeToArray()
Iterating through rangeToArray() in PhpSpreadsheet
我有 Excel 个工作表需要用来执行计算。
我正在使用 PHP 电子表格进行读写,因为 PHPExcel 现已弃用。
我遇到的问题是从特定列获取值以执行计算。
阅读文档后,我发现可以使用 rangeToArray() 函数来检索值。
我的代码如下所示:
$inputFiletype = 'Xlsx';
$inputFileName = './helloworld.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$find_val = $spreadsheet->getActiveSheet()->rangeToArray('K1:K5');
根据文档,这会创建一个数组 ($find_vals)。
但是,当我尝试遍历数组以查看值时,我收到 'Array to string Conversion' 通知,输出为 "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 成功地遍历 rangeToArray 值 API?
提前致谢。
相似的回答here
foreach ($find_val as $cell) {
foreach ($cell as $finalValue) {
echo $finalValue . "\r\n";
}
}
刚看到你的post。你试过这个吗?
你快到了。
foreach($sheetData as $vals) {
echo $vals[0];
}
我有 Excel 个工作表需要用来执行计算。 我正在使用 PHP 电子表格进行读写,因为 PHPExcel 现已弃用。
我遇到的问题是从特定列获取值以执行计算。
阅读文档后,我发现可以使用 rangeToArray() 函数来检索值。 我的代码如下所示:
$inputFiletype = 'Xlsx';
$inputFileName = './helloworld.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$find_val = $spreadsheet->getActiveSheet()->rangeToArray('K1:K5');
根据文档,这会创建一个数组 ($find_vals)。 但是,当我尝试遍历数组以查看值时,我收到 'Array to string Conversion' 通知,输出为 "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 成功地遍历 rangeToArray 值 API?
提前致谢。
相似的回答here
foreach ($find_val as $cell) {
foreach ($cell as $finalValue) {
echo $finalValue . "\r\n";
}
}
刚看到你的post。你试过这个吗?
你快到了。
foreach($sheetData as $vals) {
echo $vals[0];
}