Ver la Versión Completa : Formato Fecha celda Excel.
Veelicus
13-07-2011, 14:52:41
Hola,
Estoy teniendo un problema con el formato de fechas a la hora de crear un archivo Excel, el caso es que si la fecha es 01/06/2011, me lo pasa como 06/01/2011 , sin embargo si la fecha es 23/06/2011 lo realiza correctamente.
Lo estoy intentando hacer de esta manera:
Hoja.Range['A2','A2'].NumberFormatLocal:= 'DD/MM/YYYY';
Hoja.Range['A2','A2'.Value2 := dt_ORIGEN.DataSet.FieldByName('FECHA').AsString;
Quedaria muy agradecido si alguien me puede decir como solventar este problema.
Muchas gracias.
Hola Veelicus, ¿has probado de pasarle directamente formateado?
Hoja.Range['A2','A2'].Value2 := FormatDateTime('dd/mm/yyyy', dt_ORIGEN.DataSet.FieldByName('FECHA').AsDateTime);
o
ExcelHoja.Range['A2','A2'].EntireColumn.NumberFormatLocal:= 'DD/MM/YYYY';
Saluditos
Veelicus
13-07-2011, 18:01:50
Hola Veelicus, ¿has probado de pasarle directamente formateado?
Código Delphi [-] (http://www.clubdelphi.com/foros/#)Hoja.Range['A2','A2'].Value2 := FormatDateTime('dd/mm/yyyy', dt_ORIGEN.DataSet.FieldByName('FECHA').AsDateTime);
o
Código Delphi [-] (http://www.clubdelphi.com/foros/#) ExcelHoja.Range['A2','A2'].EntireColumn.NumberFormatLocal:= 'DD/MM/YYYY';
Saluditos
Hola, usando la primera solucion que me indicas me sale lo siguiente:
06/01/2011 es decir, muestra el mes donde el dia y vicecersa
Con la segunda solucion me sale como resultado lo siguiente:
06/01/YYYY
es decir, lo mismo que la primera solucion solo que esta vez ni siquiera muetra el año correctamente.
Si no consigo hacerlo de alguna manera mas sencilla me parece que me tendre que hacer una funcioncilla que corte la fecha que llega y luego concatenarla de la manera adecuada...
Muchas gracias por tu ayuda!!
Hola, usando la primera solucion que me indicas me sale lo siguiente:
06/01/2011 es decir, muestra el mes donde el dia y vicecersa
Con la segunda solucion me sale como resultado lo siguiente:
06/01/YYYY
es decir, lo mismo que la primera solucion solo que esta vez ni siquiera muetra el año correctamente.
Hola de nuevo, acabo de hacer la prueba y si, no funciona bien, he conseguido hacerlo funcionar de dos formas:
pasandole con formato de texto:
Hoja.Range['A2','A2'].EntireColumn.NumberFormat := '@';
con formato de fecha :
// de esta forma ya no desaparece el año
Hoja.Range['A2','A2'].EntireColumn.NumberFormat := 'dd/mm/aaaa';
Saluditos
Veelicus no te olvides utilizar etiquetas en tus codigos [ delphi] tu codigo [ /delphi] sin el espacio o también de esta forma:
http://neftali.clubdelphi.com/images/UtilizarTAGs.png
Saluditos y bienvenido a clubdelphi.
Veelicus
14-07-2011, 08:14:06
Hola de nuevo, acabo de hacer la prueba y si, no funciona bien, he conseguido hacerlo funcionar de dos formas:
pasandole con formato de texto:
Código Delphi [-] (http://www.clubdelphi.com/foros/#) Hoja.Range['A2','A2'].EntireColumn.NumberFormat := '@';
con formato de fecha :
Código Delphi [-] (http://www.clubdelphi.com/foros/#) // de esta forma ya no desaparece el año Hoja.Range['A2','A2'].EntireColumn.NumberFormat := 'dd/mm/aaaa';
Saluditos
Muchas gracias, ahora ya funciona!
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.