Как получить валютный знак ячейки с помощью PhpSpreadsheet - PullRequest
0 голосов
/ 01 июля 2019

У меня содержимое ячейки выглядит как "1440 долларов" или "970 евро" Но в поле формулы (после выбора ячейки) значение выглядит как простое число «1440» или «970». Как я могу получить знак валюты ($ или €) с помощью PhpSpreadsheet?

Я попробовал код

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load('some.xlsx');
$worksheet = $spreadsheet->getActiveSheet();

$a = $worksheet->getStyle(10, 3)->getNumberFormat()->getFormatCode();
$b = $worksheet->getCellByColumnAndRow(10, 3)->getValue();
$c = $worksheet->getCellByColumnAndRow(10, 3)->getFormattedValue();

Got: a - «Общее» (строка) б - 1440 (целое число) с-1440 '(строка)

Почему формат "Общий", если на самом деле это "Финансы"?

1 Ответ

0 голосов
/ 02 июля 2019

Вы используете $reader->setReadDataOnly(TRUE);.

Это означало игнорировать форматирование.

Установите значение $reader->setReadDataOnly(FALSE);

...