Estoy creando una clase la cual me realizara la exportación de datos a Excel, Word y HTTP pasando a esta un griedview y el tipo de formato. Os dejo el código de mi clase:
Código:
El problema que ocurre es que no puedo utilizar los métodos Response. No se como solucionar el problema, alguien me puede hechar un cable por favor? Nota el error que me lanza el Visual es este: No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de método compartido sin una instancia explícita de la clase.Gracias de antemano!'IMPORTAMOS LAS LIBRERAIAS NECESARIAS Imports Microsoft.VisualBasic Imports System.Data Imports System.Data.SqlClient Imports System.IO Imports System Public Class Exportaciones Inherits System.Web.UI.Page #Region "CONSTRUCTOR DE LA CLASE" 'CONSTRUCTOR DE LA CLASE Public Sub New() End Sub #End Region #Region "EXPORTAR DATOS A EXCEL, WORD, HTML DE UN GRIEDVIEW" 'EXPORTAR DATOS A EXCEL, WORD, HTML DE UN GRIEDVIEW 'PARAMETROS RECIBE: GRIEDVIEW, FORMTATO 'PARAMETROS DEVUELVE: NADA Public Shared Function exportarDatos(ByVal griedExportar As GridView, ByVal tipoExportacion As Integer) 'CREAMOS LAS VARIABLESVARIABLES Dim sb As StringBuilder = New StringBuilder() Dim sw As StringWriter = New StringWriter(sb) Dim htw As HtmlTextWriter = New HtmlTextWriter(sw) Dim Page As Page = New Page() Dim Form As HtmlForm = New HtmlForm() 'PREPARAMOS EL GRIEDVIEW griedExportar.EnableViewState = False Page.EnableEventValidation = False Page.DesignerInitialize() Page.Controls.Add(Form) Form.Controls.Add(griedExportar) Page.RenderControl(htw) Response.Clear() Response.Buffer = True 'PREPARAMOS EL ENCABEZADO DEL FICHERO PARA EXPORTARLO SEGUN FORMATO Select Case (tipoExportacion) Case 1 Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("Content-Disposition", "attachment; filename= InformeDeDatos_" + DateTime.Now + ".xls") Case 2 Response.ContentType = "application/vnd.ms-word" Response.AddHeader("Content-Disposition", "attachment; filename= InformeDeDatos_" + DateTime.Now + ".doc") Case 3 Response.ContentType = "text/html" Response.AddHeader("Content-Disposition", "attachment; filename= InformeDeDatos_" + DateTime.Now + ".html") End Select 'SE INDICA LA CODIFICACION DEL FICHERO Y SE CIERRA ESTE Response.Charset = "ISO 8859-1" Response.ContentEncoding = Encoding.Default Response.Write(sb.ToString()) Response.End() Return Nothing End Function #End Region End Class
Reciban un saludo,