Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Excel, Problem z formatem liczby w komórce
eldorado
post 28.12.2008, 20:07:01
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich,

Mam taki mały problem, jeden na milion :/
Moja aplikacja w php zajmuje się danymi osobowymi, importuje dane z excela, wszystko fajnie działa.
Ale pojawiła się jedna osoba z peselem kończącym się na same zera, czyli xxxxxx00000. W Excelu wszystko wygląda normalnie, ale po ściągnięciu danych do php wyświetla mi się ten pesel w formacie x.xxxxxE+10. Cóż począć w takiej sytuacji?

Do czytania z Xls używam klasy Spreadsheet_Excel_Reader, czy jakoś tak.

Pozdrawiam.
Go to the top of the page
+Quote Post
wrzasq
post 28.12.2008, 20:33:44
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


a komorka w excelu na pewno ma typ na tekstowy? tego typu danych nie powinno sie ustawiac jako liczby, tylko jako tekst (tak jak regon, nip, numer telefonu...). nie wykonuje sie na nich operacji liczbowych, to lancuch znakow, tyle ze skladajacy sie tylko z cyfr. ewentualnie mozesz taka liczbe wypisac potem przez sprintf().


--------------------
Go to the top of the page
+Quote Post
eldorado
post 28.12.2008, 20:48:07
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


Niestety po przestawieniu na inny format wszystko się sypie, jak się okazuje autor Readera nie uwzględnił typu tekstowego jako takiego tylko typ ogólny.
Użycie innego skryptu nie wchodzi w grę, za dużo bym musiał przerobić winksmiley.jpg

sprintf rozumiem, zamienię E+10 na 00000? i do tego musze kropę wywalić? Czy jakoś inaczej?
Go to the top of the page
+Quote Post
wrzasq
post 29.12.2008, 04:16:07
Post #4





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


nie, nie rozumiesz tongue.gif.

  1. <?php
  2. $value = sprintf('%d', $value);
  3. ?>


gdzie $value to zmienna, ktora obecnie przechowuje twoj PESEL w notacji naukowej.


--------------------
Go to the top of the page
+Quote Post
eldorado
post 29.12.2008, 20:27:02
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.12.2008

Ostrzeżenie: (0%)
-----


no tak przypuszczałem, że nie rozumiem winksmiley.jpg
dzięki za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 5.06.2024 - 01:06