• Domingo 22 de Diciembre de 2024, 15:47

Autor Tema:  Exportar A Excel  (Leído 1065 veces)

VonNewMan

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Exportar A Excel
« en: Jueves 30 de Marzo de 2006, 14:49 »
0
Quiero exportar el contenido de un datagrid a una hoja  excel y el ste. código es el que empleo pero me da error de compilación al no reconocer la clase Response.

Descripción del  Error:

C:\Documents and Settings\juancarlos\Mis documentos\Visual Studio Projects\EstadisticasPG\EstProduccion.cs(3978): The type or namespace name 'Response' could not be found (are you missing a using directive or an assembly reference?)

Codigo Usado:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

¿Debo  importar alguna clase más?


/******************************* EXPORTAR FICHEROS DESDE DATA GRID
      
      private void BT_Exportar_Click(object sender, System.EventArgs e)
      {         
         Response.Clear();
         Response.Buffer      = true;
         Response.ContentType = "application/vnd.ms-excel";
         Response.AddHeader("Content-Disposition", "attachment;filename=NombreArchivo.xls");
         Response.Charset     = "UTF-16";

         //Desactivo propiedades conflictivas
      
         dataGridProdu.AllowSorting = false;
         
         Response.ContentEncoding = System.Text.Encoding.Default;
         Response.Write(HTML()); //Llamada al procedimiento HTML
         Response.End();
      }



      //El procedimiento HTML que se encarga de dar o mantener formatos según corresponda:

      public string HTML()
      {
         Page page1 = new Page();
         HtmlForm form1 = new HtmlForm();

         dataGridProdu.EnableViewState = false;
         if (dataGridProdu.DataSource != null)
         {
            dataGridProdu.DataBind();
         }

         dataGridProdu.EnableViewState = false;
         page1.EnableViewState = false;

         page1.Controls.Add(form1);
         form1.Controls.Add(dataGridProdu);
   
         System.Text.StringBuilder builder1 = new System.Text.StringBuilder();
         System.IO.StringWriter writer1 = new System.IO.StringWriter(builder1);
         HtmlTextWriter writer2 = new HtmlTextWriter(writer1);

         writer2.Write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title>Datos</title>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n<style>\n</style>\n</head>\n<body>\n");

         //writer2.Write("<img src=http://enlace/a/Imagen.gif>");

         writer2.Write("<table><tr><td></td><td></td><td><font face=Arial size=5><center>Título Principal</center></font></td></tr></table><br>");

         writer2.Write("<table>\n<tr>\n<td></td><td class=TD width=35%><b>Fecha  :</b></td><td width=65% align=left>" + TxtDate.Text.Trim() + "</td>\n</tr>\n<tr>\n<td></td><td class=TD><b>Gerencia:</b></td><td>" + DDLGerencia.SelectedItem.ToString().Trim() + "</td>\n</tr>\n</table>\n<br><br>");

         page1.DesignerInitialize();
         page1.RenderControl(writer2);
         writer2.Write("\n</body>\n</html>");
         page1.Dispose();
         page1 = null;
         return builder1.ToString();
      }
      
      /************* FIN DE EXPORTAR DATA GRID
      

Por favor si alguien me puede ayudar, eternamente agradecido.

Muchas gracias.