Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
rudejah
@rudejah
PHP
PhpSpreadsheet
Как заставить PHPExcell вернуть правильное поле?
Доброго утра, наверное.
После чтения файла с помощью PHPExcel столкнулся с проблемой, что банковский счет (20 цыфер) он преобразует в экспоненту (так как эксель любит только 15-ти циферные строчки)
Пытался и getFormattedValue, но как-то всё без успешно.
Может подскажете в какую сторону ковырять?
Вопрос задан
более трёх лет назад
3156 просмотров
Комментировать
Подписаться
2
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Помогут разобраться в теме
Все курсы
Skillfactory
Профессия Fullstack веб-разработчик на JavaScript и PHP
20 месяцев
Далее
Хекслет
PHP-разработчик
10 месяцев
Далее
Нетология
Веб-разработчик с нуля: профессия с выбором специализации
14 месяцев
Далее
Решения вопроса
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
+2 ещё
Простой
Создание элемента с необычной формой и прозрачным фоном и рамкой?
1 подписчик
03 нояб.
130 просмотров
0
ответов
PHP
+3 ещё
Средний
Apache 2.4 и php 8.4 под windows. Почему не загружаются модули curl, openssl?
2 подписчика
01 нояб.
247 просмотров
3
ответа
PHP
Простой
Как объединить в один код 2 строчки $array[$key]?
2 подписчика
31 окт.
240 просмотров
2
ответа
PHP
+1 ещё
Простой
Как оптимально подтягивать og:img для списка статей с разных сайтов?
1 подписчик
27 окт.
125 просмотров
1
ответ
PHP
+2 ещё
Простой
Как реализовать зеркало сайт Тильда?
1 подписчик
22 окт.
294 просмотра
0
ответов
PHP
+1 ещё
Простой
Почему перестала работать ЮКасса?
1 подписчик
19 окт.
337 просмотров
1
ответ
PHP
Простой
Как вычислить результат математических операций в строке?
1 подписчик
17 окт.
289 просмотров
3
ответа
PHP
Простой
Можно ли в PHP вкладывать однострочные комментарии // в многострочные /* */?
1 подписчик
16 окт.
278 просмотров
4
ответа
PHP
+1 ещё
Простой
Перестал работать php запрос к телеграмм?
1 подписчик
15 окт.
278 просмотров
1
ответ
PHP
+2 ещё
Простой
Как проще отправить изображение на стену канала?
1 подписчик
15 окт.
181 просмотр
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
PHP-разработчик
FoodSoul
•
Калининград
от 180 000 до 250 000 ₽
PHP-разработчик (Symfony)
Мегаплан
от 160 000 ₽
PHP- разработчик (Symfony)
IT-Spirit
•
Москва
от 230 000 до 320 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама