#php #phpexcelreader
#php #phpexcelreader
Вопрос:
Это мой лист Excel, из которого я пытаюсь получить столбцы L и M, но только второе значение в моем случае значения L6 = 3,74 и M6 = 457,27 Это мой текущий код
$sheet = $objPHPExcel->getSheet();
$highestRow = $sheet->getHighestRow();
for ($row=5; $row <= $highestRow; $row )
{
$rowData = $sheet->rangeToArray('B' . $row . ':'. 'B' . $row, NULL, TRUE, FALSE);
$rowDataA = $sheet->rangeToArray('L' . $row . ':'. 'M' . $row, NULL, TRUE, FALSE);
print_r($rowDataA);
}
это то, что возвращает print_r Array ( [0] => Array ( [0] => 23 3.74 [1] => 721 457.27 ) )
могу ли я в любом случае получить только 3.74 и 457.27, а не первое значение
Комментарии:
1. Я тоже думал то же самое, но они хранятся в разных ячейках, и тот, кто предоставил мне Excel, упомянул, что оба представляют разные вещи.. и в нашем случае нам нужно второе значение
2. Извините, я удалил свой комментарий, поэтому ваш ответ не имеет смысла. Я думал, что неправильно прочитал вопрос, который вы пытались извлечь
.74
и.27
, пока я не прочитал его снова.
Ответ №1:
$rowDataA = $sheet->rangeToArray('L' . $row . ':'. 'M' . $row, NULL, TRUE, FALSE);
$value1 = explode(' ', $rowDataA[0][0]);
echo $value1[1];
Это то, что можно сделать, и в качестве альтернативы, если это почему-то не работает, замените пробел чем-то другим, а затем используйте функцию explode, и это сработает.
$rowDataA[0][0] = preg_replace('/s /', ' ', $rowDataA[0][0]);