• Domingo 28 de Abril de 2024, 22:52

Autor Tema:  Re: Exportar Datos De Un Datagrid A Una Hoja De Excel  (Leído 2318 veces)

see07

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Exportar Datos De Un Datagrid A Una Hoja De Excel
« en: Lunes 25 de Octubre de 2004, 19:24 »
0
Hola a todos:

Tengo una web form enen la que tengo un datagrid, necesito exportar sus datos a una hoja de Microsoft Excel.

Lo estoy haciendo de la manera siguiente:

Response.Clear();
Response.Buffer= true;
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
this.EnableViewState = false;
   
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

DataGrid1.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());
Response.End();

Pero me gustaría evitar que el sistema le pregunte al usuario si desea abrir o salvar el archivo, en vez de eso me gustaría que la hoja d e Excel se abriese en otra ventana y cuando esta se salve por el usuario se salve como archivo de Excel.
   
¿Hay alguiebn que sepa como lograr esto?

Se los agradeceré bastante.
A.L.  :comp:

timpsoft

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
    • http://www.msdnlive.net/
Re: Exportar Datos De Un Datagrid A Una Hoja De Excel
« Respuesta #1 en: Martes 26 de Octubre de 2004, 01:37 »
0
Recuerda algo, el usuario manda en su maquina, eso siempre te va a apareces salvo que el usuario haya desactivado eso, por ejemplo digamos que en vez de un excel le mandas un virus??  :blink: pues hay que darle chance al usuario para ver si lo acepta o no  :lightsabre:  asi que deberas ver otra forma me parece :(

see07

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Exportar Datos De Un Datagrid A Una Hoja De Excel
« Respuesta #2 en: Martes 26 de Octubre de 2004, 18:04 »
0
Gracias Iván:
Tomo en cuenta lo que me dices, pero qué hacer entonces cuando el usuario elige abrir el archivo y hace modificaciones al mismo, después para salvarlo tiene que cerrar la aplicación ya que no hay manera de salvarlo, una vez que la cierra el sistema le pregunta el nombre del archivo a salvar y el formato. Esto para un usuario es molesto. ¿No habría manera de salvarlo sin que preguntase el nombre del archivo y el formato?
Inserté en mi script esta línea de código:
Response.AddHeader("Content-Disposition", "inline;filename=Clientes.xls");
para que le de el nombre al archivo, sin embargo al abrirlo, modificarlo y luego salvarlo le pide el nombre.
Te agradeceré tus comentarios al respecto.
A.L. :P

see07

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Exportar Datos De Un Datagrid A Una Hoja De Excel
« Respuesta #3 en: Martes 26 de Octubre de 2004, 19:51 »
0
Hola:
ya encontré la manera de desplegar la hoja de Excel sheet en otra ventana.  Solo puse este cófigo:
<form id = “Form1” method = “post” runat = “server” target = “_blank”>
Donde target es el que hace todo el truco.
En C# I incluí esta línea:
Response.AddHeader("Content-Disposition", "inline;filename=Clientes.xls");
Cuando el usuario decide salvar el archivo, este se salva como Clientes.xls como nombre, obviamente como Libro de Microsoft Excel como tipo.
Pero cuando el usuario decide abrir el archivo y modificar alguna columna y después salvarlo, el sistema abre una ventana “Guardar Como” donde pide el nombre del archivo y su tipo. ¿Por qué los pide si ya le estoy dando estos datos? ¿Cómo puedo hacer que el sistema, cuando el archivo es abierto, modificado y savado se guarde como Clientes.xls?
Les agradeceré su ayuda.
A.L.
 :kicking: