Foros del Web » Programando para Internet » PHP »

Valor bien presentado en PHP -- mal en excel!!

Estas en el tema de Valor bien presentado en PHP -- mal en excel!! en el foro de PHP en Foros del Web. Hola a todos!! Tengo un gran problema que no he podido solucionar me explico: Tengo un formulario que trae datos desde la BD a una ...
  #1 (permalink)  
Antiguo 08/02/2004, 13:14
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Valor bien presentado en PHP -- mal en excel!!

Hola a todos!!

Tengo un gran problema que no he podido solucionar

me explico:


Tengo un formulario que trae datos desde la BD a una tabla (lo hace ok). Luego utilizé el código de las FAQs (mas unos arreglos que le hice de acuerdo a lo que necesitaba) para generar un reporte en Excel a partir de una tabla (lo hace ok).

PERO el problema es que los valores en excel los muestra mal, esto es:

en Formulario PHP (valores traidos desde la BD - ok)

4.35667
6.89644

en Excel

435.667
689.644

Qué puede ser, y lo más importante ¿CÓMO LO PUEDO SOLUCIONAR?.

Por favor es muy importante, les pido su ayuda, pues la verdad es que no tengo idea qué hacer

Respóndanme por favor

Yuki27
  #2 (permalink)  
Antiguo 08/02/2004, 14:44
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Puede que lo que te vaya a decir se auna burrada pero... y si en las celdas de excel en las que va a aparecer los datos le pones un formato numerico con los decimales que tu quieres... podria funcionar... no?
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #3 (permalink)  
Antiguo 08/02/2004, 15:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
¿?

Hola elangelcaido y a todos!!!

En realidad encuentro poco probable que se pueada hacer (no se me ocurre como), pues la tabla se genera (por decirlo de alguna forma) on-line. La verdad no se cómo se podría implementar - si alguien sabe mejor todavía.

Pero la verdad me tinca que la solución va por otro lado, es por eso que escribo porque la verdad NO SE QUÉ HACER!!! es muy importante que el resultado de esos número aparezca como corresponde.

Alguíen me Ayude!!!!! por favor.


Gracias de ante mano.

yuki27
  #4 (permalink)  
Antiguo 08/02/2004, 15:59
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 14 años, 2 meses
Puntos: 0
seria bueno q pongas el codigo .. asi facilitara la ayuda que precisas

un saludo
__________________
rocita
  #5 (permalink)  
Antiguo 08/02/2004, 16:26
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
Hola yuri,

El problema que tienes es que en la base de datos no tienes separador de miles y los decimales lo tienes con un punto. En cambio en Excel, el punto es separador de miles y la coma como separador de decimales.

Te recomiendo que cambies los puntos por comas.
Ej: Tienes 4.35667 lo tienes que cambiar por 4,35667.
Esta conversión la puedes hacer con la funcion numformat();

Un saludo
  #6 (permalink)  
Antiguo 09/02/2004, 01:51
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
PROBLEMAS!!!!!

Hola jmaribau y a todos.

Sabes que creo que tienes toda la razón. Me dispuse a probar lo que señalaste pero me apareció un problema. Estoy trabajando con webmin (es lo mismo que phpmyadmin) y quise crear un campo NUMDEC de tipo decimal y le digo en "Ancho y decimales" 3 y 2 (para poder almacenar 0,14) y no me lo acepta, dice que hay un problema de sintaxis sql!!!!

Entre tanto código, prueba y error ya ni se como le digo que quiero tener un campo para almacenar un simple 0,14 o cualquier otro número con DOS decimales!!!!!


Ayúdenme por favor!!!! de lo contrario no podré probar lo que me señaló jmaribau

Auxilio!!!

Yuki27
  #7 (permalink)  
Antiguo 09/02/2004, 02:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
No se qué pasa!!!

No se que es lo que pasa porque luego de "n" intentos por crear un campo decimal(3,2) y webmin me decia error, en una de esas escribí lo mismo y me lo aceptó!!,

Pero cuando escribo en el campo 4,15 me almacena 4.00 !!!!

Alguien sabe por qué no almacena correctamente el valor y por qué pone . (punto) si yo le puse , (coma)?????

S.O.S

Yuki27
  #8 (permalink)  
Antiguo 09/02/2004, 03:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Es un problema de localizacion. En algunos idiomas, la forma de puntuar numeros es con , para separar los miles y . para los decimales (creo que es sistema ingles). Y otros usan . para los miles, y , para los decimales.

Entonces si un programa te genera en un formato, y el otro lo espera en otro, pues tienes un problema (exactamente el que tienes).

Asi que en tu base debes meterlos en la base de datos con punto para los decimales. Y al generar el excell generas los numeros en el formato español (con number_format(), como ya te han dicho).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.