PHPExcel:读取 .xlsx 文件,将列 'x' 的值与列 'y' 的相似值相加
PHPExcel: Read .xlsx file, sum column 'x' values for similar value of column 'y'
我卡在这个问题上了,让我解释一下。我有一个 Excel sheet 有 3 列,如下所示:
y x z
10 5 0
10 5 4.25
10 5 0
30 2 0
30 2 1.85
30 2 0
如何为 col.y 的相似值添加 col.x 的值?
期望的结果是:
y=10, x=15
y=30, x=6
是否可以使用 PHPExcel 实现此目的(如果不能,那么最好的方法是什么)?
我试过了,但它返回的是关联数组:
$objPHPExcel = PHPExcel_IOFactory::load($file_name);
$array = $objPHPExcel->getActiveSheet();
$highestRow = $array->getHighestRow();
$data = $array->rangeToArray("A2:C$highestRow");
$data returns 关联数组,但这不是我想要的。
非常感谢任何帮助。
您需要遍历数组数据并手动对项目求和
$objPHPExcel = PHPExcel_IOFactory::load($file_name);
$array = $objPHPExcel->getActiveSheet();
$highestRow = $array->getHighestRow();
$data = $array->rangeToArray("A2:C$highestRow");
$sumData = [];
foreach ($data as $row){
$key = $row[0];
if(!isset($sumData[$key])){
$sumData[$key] = [0, 0];
}
$sumData[$key][0] += $row[1];
$sumData[$key][1] += $row[2];
}
print_r($sumData);
结果:
Array
(
[10] => Array
(
[0] => 15
[1] => 4.25
)
[30] => Array
(
[0] => 6
[1] => 1.85
)
)
我卡在这个问题上了,让我解释一下。我有一个 Excel sheet 有 3 列,如下所示:
y x z
10 5 0
10 5 4.25
10 5 0
30 2 0
30 2 1.85
30 2 0
如何为 col.y 的相似值添加 col.x 的值?
期望的结果是:
y=10, x=15
y=30, x=6
是否可以使用 PHPExcel 实现此目的(如果不能,那么最好的方法是什么)?
我试过了,但它返回的是关联数组:
$objPHPExcel = PHPExcel_IOFactory::load($file_name);
$array = $objPHPExcel->getActiveSheet();
$highestRow = $array->getHighestRow();
$data = $array->rangeToArray("A2:C$highestRow");
$data returns 关联数组,但这不是我想要的。
非常感谢任何帮助。
您需要遍历数组数据并手动对项目求和
$objPHPExcel = PHPExcel_IOFactory::load($file_name);
$array = $objPHPExcel->getActiveSheet();
$highestRow = $array->getHighestRow();
$data = $array->rangeToArray("A2:C$highestRow");
$sumData = [];
foreach ($data as $row){
$key = $row[0];
if(!isset($sumData[$key])){
$sumData[$key] = [0, 0];
}
$sumData[$key][0] += $row[1];
$sumData[$key][1] += $row[2];
}
print_r($sumData);
结果:
Array ( [10] => Array ( [0] => 15 [1] => 4.25 ) [30] => Array ( [0] => 6 [1] => 1.85 ) )