Foros del Web » Programación para mayores de 30 ;) » .NET »

Mensaje al abrir creado desde c#

Estas en el tema de Mensaje al abrir creado desde c# en el foro de .NET en Foros del Web. Hola a tod@s, espero se la esten pasando bien. Tengo una web aplicacion en c#, en la cual, se crea un archivo de excel para ...
  #1 (permalink)  
Antiguo 28/07/2008, 13:03
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 9 meses
Puntos: 0
Mensaje al abrir creado desde c#

Hola a tod@s, espero se la esten pasando bien.

Tengo una web aplicacion en c#, en la cual, se crea un archivo de excel para que el usuario lo consulta, y ese archivo lo estoy generando de esta manera, como lo explica en esta pagina:

http://www.devjoker.com/asp/ver_cont...o_contenido=69

y tambien lo genero mediante un StringWriter, StringBuilder y con el objeto
Response.ContentEncoding=System.Text.Encoding.Unic ode;
Response.ContentType = "Application/x-msexcel";

Y de las dos maneras, si me lo genera bien, el problema es que cuando lo abro, generado de cualquiera de las 2 maneras, me manda este mensaje:

El archivo que intenta abrir,<nombre_archivo.xls>, tiene otro formato que el especificado por la extension de archivo. Compruebe que el archivo no esta dañado y procede de un origen de confianza antes de abrirlo. ¿Desea abrir el archivo ahora?

alguien sabra porque sale ese mensaje al abrirlo y como hacerle para que no aparesca???

les agradesco mucho su ayuda.

gracias.
  #2 (permalink)  
Antiguo 28/07/2008, 14:25
 
Fecha de Ingreso: enero-2008
Mensajes: 144
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Mensaje al abrir creado desde c#

HOOLA YO HAGO ESTO EN C# 2003 OJALA TE SIRVA

Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=NombreArchivo.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.No Cache);
Response.ContentType = "application/vnd.xls";
//para que no salgan esos malditos signos
Response.ContentEncoding = System.Text.Encoding.UTF7;
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
this.Datagrid1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();

PRUEBALO Y ME DICES
SUERTE!!!!!
  #3 (permalink)  
Antiguo 29/07/2008, 08:57
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Mensaje al abrir creado desde c#

gracias por tu ayuda diegolo, ya probe lo que me pasaste en las 2 maneras en que se genera el excel, pero aun asi, cuando abro el excel que se genero, me sigue mandando el mismo mensaje:

El archivo que intenta abrir,<nombre_archivo.xls>, tiene otro formato que el especificado por la extension de archivo. Compruebe que el archivo no esta dañado y procede de un origen de confianza antes de abrirlo. ¿Desea abrir el archivo ahora?


de todos modos agradesco tu ayuda.

Seguire investigando, y si alguien me puede ayudar, se los agradecere mucho.
  #4 (permalink)  
Antiguo 30/07/2008, 15:31
 
Fecha de Ingreso: enero-2008
Mensajes: 144
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Mensaje al abrir creado desde c#

Si, que pena la verdad es que primero tienes que guardarlo y luego abrirlo seria algo logico
  #5 (permalink)  
Antiguo 30/07/2008, 15:41
 
Fecha de Ingreso: enero-2008
Mensajes: 144
Antigüedad: 16 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Mensaje al abrir creado desde c#

PRUEBA CON ESTO
public void EsportarDatos()
{
//ESPARA EL NOMBRE DEL ARCHIVO
string pathxls=this.DropDownList1.SelectedItem.ToString() .Trim() + ".xls";

Session["xls"]=pathxls.ToString();
//comprueba si existe la carpeta
if (!File.Exists("\\Prueba"))
Directory.CreateDirectory("\\Prueba");
FileStream fsOut=File.Create("\\Prueba\\"+pathxls);
StreamWriter sw=new StreamWriter(fsOut);
DataSet ds=new DataSet();
ds=(DataSet)Session["mis"];
string celda=" ";
sw.WriteLine("DATOS DEL CLIENTE");
sw.WriteLine("CODIGO" + "\t" + "NOMBRE" +"\t");
for (int k=0; k<ds.Tables[0].Rows.Count;k++)
{
celda=ds.Tables[0].Rows[k][0].ToString()+"\t"+ds.Tables[0].Rows[k][1].ToString();
sw.WriteLine(celda);
}
sw.Flush();
sw.Close();
fsOut.Close();
Mensaje("El Archivo:. " + this.Session["xls"].ToString()+ " ha sido creado satisfactoriamente");
}

ESPERO QUE ESTA SI SEA LA VENCIDA

SUERTE!!!!!!
  #6 (permalink)  
Antiguo 09/01/2009, 11:52
 
Fecha de Ingreso: abril-2004
Mensajes: 1
Antigüedad: 20 años
Puntos: 0
Respuesta: Mensaje al abrir creado desde c#

Hola suprempada, lo solucionaste tambien tengo el mismo problema, genero un xls desde un html y al abrirlo sale ese mensaje...esto me sucede en el office 2007
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 22:35.