Проблема выгрузки числовых данных в Excel

ziy

Новичок
Проблема выгрузки числовых данных в Excel

Следующая проблема:
при выгрузке из Оракла через PHP и PEAR(SpreedSheetExcelWriter) в числах возникают какие-то глюки - если число целое то все нормально, если число имеет знаки после запятой - то оно есть, но не суммируется если попытаться это сделать с помощью автосуммы или чего-нибудь подобного, а СУММИРОВАНИЕ как раз и нужно в работе. Причем внешне целые числа центрируются по правой стороне, а со знаками после запятой с левой стороны и изменение центрирования не дает положительного результата. Также не дает результата и формат ячейки выставленный в числовой - числа опять же не суммируются. Зато если число попытаться отредактировать, но ничего даже не поменяв, оно становится нормальным и начинает попадать в автосумму. Кто-нибудь может подсказать в чем может быть проблема?
 

ustas

Элекомист №1
Excel изучать. параметры, международные - дальше сам.
 

ziy

Новичок
Excel изучать. параметры, международные - дальше сам.
Согласен полностью насчет необходимости изучения Excel.
Но мне кажется что проблема не в слабых знаниях, потому что мне нужно не править файл или сам Excel(тут проблем нет), а сделать так чтобы он формировался сразу нормально, можно конечно его потом обрабатывать макросами в автомате, но хочется понять почему не выгружает.

-~{}~ 12.10.07 13:02:

Опытным путем установил что PEAR определяет число с запятой как строку и соответственно пишет как строку функцией writestring.

-~{}~ 12.10.07 13:49:

ПОЛУЧИЛОСЬ!
Изменил анализ функции write чтобы она брала и запятые и затем перед упаковкой и записью изменял запятые на точки и все получилось
 

voituk

прозревший
Пи%%%ц! Ничего менее извратного придумать не мог?

PEAR определяет число с запятой как строку
Так оно и должно быть. Насколько тебе извесно в PHP для отделения дробной части используется точка.
И если твой Oracle вместо double 1.23 тебе возвращает string "1,23" то PHP&PEAR тут непричем.
 

baev

‹°°¬•
Команда форума
Насколько тебе извесно в PHP для отделения дробной части используется точка.
— Вы эту сказку функции setlocale() расскажите, а то она не знает...
 

ustas

Элекомист №1
ziy
ты так и не посматрел, что можнт быть точка, может быть запятая, и ексель не автомат.

-~{}~ 12.10.07 16:05:

наверно в екселе сложней точки в настройках поменять, тупизм в кубе
 

voituk

прозревший
Вы эту сказку функции setlocale() расскажите, а то она не знает...
Читать внимательно ещё раз!
Хочу поглядеть как с помощью setlocale() можно заставить такой код работать:

PHP:
 $a =  1,45772;
 echo $a;
 

ziy

Новичок
Я думаю что тема может быть закрыта. И каждый высказался в меру своей образованности и воспитанности. Спасибо.
 

ustas

Элекомист №1
ты региональные настройке в екселе видел? и код править не надо.
 
Сверху