PHP Excel формат нестандартной валюты не сортируется должным образом - PullRequest
0 голосов
/ 26 марта 2019

Может кто-нибудь объяснить, пожалуйста, как настроить валюту в PHPExcel? У меня есть значение ячейки, которое форматируется как строка "1 234 567 €". Поэтому я установил formatCode следующим образом:

$sheet->setCellValue($col . $row, $value);
$sheet->getStyle($col . $row)->getNumberFormat()->setFormatCode( '# ### €');

Результат хорошо отформатирован, но когда я связал его для сортировки (OpenOffice, LibreOffice), он сортируется как строка, а не как числа. Это означает 2> 10. Я что-то упустил?

1 Ответ

1 голос
/ 26 марта 2019

Решение состоит в том, чтобы установить значение ячейки как число с плавающей запятой или целое число вместо строки. Без каких-либо знаков валюты, пробелов, запятых ... Формат предназначен для представления в файле результатов. Кроме того, формат должен выглядеть следующим образом: # ## 0 €, поскольку местозаполнитель цифры «#» подавит отображение незначительных нулей. заполнитель цифры «0» всегда будет отображать цифру.

PS: Как я вижу, формат с разделенными запятыми десятичными числами '# ## 0,00 €' не работает. Он должен быть # ## 0,00 € с точкой в ​​качестве разделителя.

...