Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
rudejah
@rudejah
PHP
PhpSpreadsheet
Как заставить PHPExcell вернуть правильное поле?
Доброго утра, наверное.
После чтения файла с помощью PHPExcel столкнулся с проблемой, что банковский счет (20 цыфер) он преобразует в экспоненту (так как эксель любит только 15-ти циферные строчки)
Пытался и getFormattedValue, но как-то всё без успешно.
Может подскажете в какую сторону ковырять?
Вопрос задан
более трёх лет назад
3152 просмотра
Комментировать
Подписаться
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
Простой
После переезда на новый хостинг перестал работать сайт?
1 подписчик
13 авг.
269 просмотров
4
ответа
PHP
Простой
Чем собирать статистику запросов от клиентов на сервере?
1 подписчик
13 авг.
207 просмотров
6
ответов
PHP
Простой
Автовайрить контейнером самого себя — это «законно»?
1 подписчик
11 авг.
392 просмотра
1
ответ
PHP
+1 ещё
Средний
Как работать с подключениями к БД в долгоживущих приложениях с EntityManager в RoadRunner?
2 подписчика
07 авг.
142 просмотра
1
ответ
PHP
Сложный
Как напечатать чек с маркировкой через атол?
4 подписчика
01 авг.
211 просмотров
0
ответов
PHP
+1 ещё
Простой
Как в выборке sql обратиться к предыдущей записи?
2 подписчика
30 июл.
273 просмотра
6
ответов
PHP
+1 ещё
Простой
Как улучшить код?
1 подписчик
29 июл.
466 просмотров
1
ответ
PHP
+1 ещё
Средний
Как обработать 2 одновременных запроса со стороннего сервера?
1 подписчик
28 июл.
1507 просмотров
1
ответ
PHP
+2 ещё
Средний
Как одновременно сделать две записи в разных таблицах в Laravel?
1 подписчик
27 июл.
242 просмотра
1
ответ
PHP
Простой
Почему переменная не перезаписывается?
1 подписчик
25 июл.
170 просмотров
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
PHP-developer / PHP-разработчик
Wanted
До 250 000 ₽
PHP-разработчик
Wanted
До 300 000 ₽
Backend developer (PHP)
Wanted
•
Казань
До 160 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама