Excel для php удалить таблицы и неиспользуемые символы - PullRequest
0 голосов
/ 11 марта 2019

Я использую библиотеку phpOffice для чтения данных из файла Excel и преобразования их в массив php, вот его код, предоставляющий массив php из данных файла excel:

$spreadsheet= \PhpOffice\PhpSpreadsheet\IOFactory::load('/User/myMac/exampl.xls');

$data = $spreadsheet_fond->getActiveSheet->toArray();
var_dump($data[0][0]); // display the value of first cellule.

ВЫХОД:

"/ 221,066,768\ ‚¬ "

Что я действительно хочу:

"221,066,768"

Я пробовал trim(preg_match('#[/‚¬\\\\]#', '', $data[0][0])) и получил следующие результаты:

"221,066,768 ‚" почему символ "‚ "не был заменен?

Я вижу, что этот символ "‚" отличается от "," ‚,.

ОБНОВЛЕНИЕ

с использованием метода getCollection() дает реальное значение, но меня интересует метод toArray().

код:

$data = $spreadsheet_fond->getActiveSheet()->getCellCollection()->get('A1')->getValue();
var_dump($data);

ВЫХОД:

221066767.5 // обратите внимание, что он возвращает исходное значение без применения округления.

1 Ответ

0 голосов
/ 11 марта 2019

При применении функции utf8_decode() к $data[0][0] вывод: 221,066,768\ ??

Следующий код решает проблему:

$result = trim(preg_match('#[/?\\\\]#', '', utf8_decode($data[0][0])));
var_dump($result);

ВЫВОД:

221,066,768

...