ASP.NET - Formato de fechas.

 
Vista:

Formato de fechas.

Publicado por EdgCrvDlr (35 intervenciones) el 12/08/2010 18:27:40
Hola a todos,

Tengo el siguiente incoveniente:

A través de una aplicativo web (.net) genero un archivo de excel, el cual al abrir en unos equipos me invierte el formato de las fechas, es decir, si la fecha real es 10/01/2010 me muestra 01/10/2010. Mientras que en otros equipos me abre el archivo de forma correcta. Esto me pasa con office 2003 ya que con office 2007 los achivos se abren bien.

Ya revisé la configuración regional de los equipos y son iguales. No sé que podría ser. Además sale este mensaje al abrirlo con office 2007:

El archivo que intenta abrir "xx.xls", tiene otro fomato que el especificado por la extension de archivo.
> Compruebe que el archivo no este danado y procede de un origen de confianza antes de abrirlo.
> Desea abrir el archivo ahora?."

No sé que podría ser, me suena que es algo de configuración del equipo donde se avre bien y no es problema del aplicativo.

Si alguien sabe o tiene ideas de que es, le agradecería mucho.

Muchas gracias y saludos desde Colombia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Formato de fechas.

Publicado por roger (311 intervenciones) el 12/08/2010 19:10:43
que codigo usas para exportar a excel????, por ahi recuerdo que en algun momento tuve un problema con un archivo de excel generado desde asp.net y bastó con poner la instruccion Response.ContentEncoding = Encoding.Default en el codigo que exportaba.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato de fechas.

Publicado por EdgCrvDlr (35 intervenciones) el 12/08/2010 21:10:13
Hola, este es el código...

System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
string cad;
string style = @"<style> .text { mso-number-format:\@; } </style> ";
System.Web.UI.WebControls.DataGrid _dg = new System.Web.UI.WebControls.DataGrid();
_dg = (System.Web.UI.WebControls.DataGrid)Session["_dg"];
_dg.DataBind();

Response.Clear();
Response.Buffer = true;
Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;
_dg.RenderControl(hw);

cad = tw.ToString();
cad = cad.Replace("á", "á");
cad = cad.Replace("Á", "Á");
cad = cad.Replace("é", "é");
cad = cad.Replace("É", "É");
cad = cad.Replace("í", "í");
cad = cad.Replace("Í", "Í");
cad = cad.Replace("ó", "ó");
cad = cad.Replace("Ó", "Ó");
cad = cad.Replace("ú", "ú");
cad = cad.Replace("Ú", "Ú");
cad = cad.Replace("ñ", "ñ");
cad = cad.Replace("Ñ", "Ñ");
Response.Write(style);
Response.Write(cad);
Response.End();
Session.Remove("_dg");

He estado jugando con la parte del formato, pero nada.... :s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar