Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
rudejah
@rudejah
PHP
PhpSpreadsheet
Как заставить PHPExcell вернуть правильное поле?
Доброго утра, наверное.
После чтения файла с помощью PHPExcel столкнулся с проблемой, что банковский счет (20 цыфер) он преобразует в экспоненту (так как эксель любит только 15-ти циферные строчки)
Пытался и getFormattedValue, но как-то всё без успешно.
Может подскажете в какую сторону ковырять?
Вопрос задан
более трёх лет назад
3150 просмотров
Комментировать
Подписаться
2
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
0
Пригласить эксперта
Ответы на вопрос
3
rudejah
@rudejah
Автор вопроса
Поломав голову, посмотрев что выдает var_dump при разных конфигурациях.
Не нашел ничего лучше как в файле PHPExcel/Cell.php поменять немного кода:
Ищем public function setValueExplicit, в ней меняем
case PHPExcel_Cell_DataType::TYPE_NUMERIC:
$this->_value = (float)$pValue;
на
case PHPExcel_Cell_DataType::TYPE_NUMERIC:
$this->_value = (string)$pValue;
Но это только для моего случая и не является панацеей.
Ответ написан
более трёх лет назад
Комментировать
Нравится
1
Комментировать
Facebook
Вконтакте
Twitter
Дмитрий
@thewind
php программист, front / backend developer
getCalculatedValue не пробовали?
Ответ написан
более трёх лет назад
2
комментария
Нравится
2
комментария
Facebook
Вконтакте
Twitter
rudejah
@rudejah
Автор вопроса
и это тоже пробовал, результат один и тот же.
Написано
более трёх лет назад
Дмитрий
@thewind
rudejah
: у меня была похожая проблема - формат ячейки. В экселе есть ведущие нули, а phpexcel их убирает. Так и не решил, пошел другим путем.
Написано
более трёх лет назад
Kamaz541
@Kamaz541
можно сделать так:
$number = 0012;
$sheet->setCellValue("B1", $number);
$sheet->getStyle("B1")->getNumberFormat()->setFormatCode('0000');
Ответ написан
более трёх лет назад
Комментировать
Нравится
Комментировать
Facebook
Вконтакте
Twitter
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
PHP
Простой
Как установить timezone в php.ini?
1 подписчик
вчера
79 просмотров
1
ответ
PHP
+1 ещё
Простой
Symfony 6.4 php 8.4 много сыплется deprecated, есть ли пути решения?
1 подписчик
вчера
112 просмотров
1
ответ
PHP
+2 ещё
Средний
Не работает авторизация через телеграмм для определенного домена, может кто сталкивался с этим?
1 подписчик
29 мая
239 просмотров
0
ответов
PHP
Простой
Как получить родительскую ноду PHPSTAN?
2 подписчика
27 мая
259 просмотров
2
ответа
PHP
+1 ещё
Простой
Как передать аватар пользователя телеграм в телеграм группу?
1 подписчик
26 мая
143 просмотра
0
ответов
PHP
Простой
Как называется такая вложенность в php?
1 подписчик
25 мая
1377 просмотров
2
ответа
PHP
Простой
Почему возникает ошибка (T_VARIBLE)?
1 подписчик
23 мая
139 просмотров
1
ответ
PHP
+1 ещё
Средний
Почему не видно Carbon fields блока в Gutenber?
2 подписчика
21 мая
433 просмотра
0
ответов
PHP
Средний
Есть ли в PHP оптимизация при передаче массива по значению?
3 подписчика
19 мая
304 просмотра
2
ответа
PHP
Простой
Помощь в PHP проверка данных из файла только выбранные значения?
1 подписчик
19 мая
162 просмотра
2
ответа
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Middle PHP-developer / PHP-разработчик
Wanted.
До 250 000 ₽
PHP-разработчик
Stoking
•
Пермь
от 200 000 ₽
PHP-разработчик
Wanted.
До 300 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама