| |||
Exportar gridview a excel Hola a todos. Tengo un problemilla y no se como salir. Es referente a exportar datos de un gridview a excel. Tengo un código por el cual un gridview me lo carga en una hoja excell nueva. Lo que necesito es que el código haga que la aplicación abra un archivo excel existente y formateado al efecto y lo rellene con los datos del gridview en cuestión. Está claro que el archivo excel existene tiene la misma estructura que el gridview en lo que se refiere a número de columnas, pero tiene los anchos de columna, el tipo de letra y tamaño distintos. Gracias. |
| |||
Respuesta: Exportar gridview a excel Primer paso abrir el archivo de excel ya lo abres paso #2 hacer modificaciones 'Para asignar un valor a una celda ' renglon y columna son numero xlSheet.Cells(Renglon, columna).Value = "string" xlSheet.Cells(Renglon, columna).Value = 3.0 'numero xlSheet.Cells(Renglon, columna).Formula = 3.0 'numero ' Para cambiar el ancho de una columan ApExcel.Columns(2).ColumnWidth = 10 Paos #3 almacenar los cambios xlsBook.SaveAs(FileName:="c:\prueba.xls") Saludos. |
| |||
Respuesta: Exportar gridview a excel No funciona. Mejor pongo el código que tengo: Protected Sub bexportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) ExportToExcel("Report.xls", GridView1) End Sub Private Sub ExportToExcel(ByVal strFileName As String, ByVal dg As GridView) Response.Clear() Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.Charset = "" Me.EnableViewState = False Dim oStringWriter As New System.IO.StringWriter Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter) GridView1.RenderControl(oHtmlTextWriter) Response.Write(oStringWriter.ToString()) Response.[End]() End Sub Ese el código que tengo. Con el lo que hago es que al pulsar el boton "exportar", me abre una hoja de calculo y me pone en ella los datos que contiene el gridview con el formato del gridview. Lo que quiero es que al pulsar ese botón me abrá una hoja de calculo que ya existe y que tiene el formato que yo quiero y me ponga en ella los datos del gridview. Evidentemente, la estructura del gridview y la de la hoja de calculo es la misma, solo que la hoja de calculo ya tiene establecidos anchos y demás para hacer mas vistosos los datos del gridview. Espero haberme explicado mejor ahora. Gracias. |
| |||
Respuesta: Exportar gridview a excel En VS ir a Websites/Proyecto -> Add References -> Pestaña COM y ahi elejir Microsoft Ofice Interop Microsoft Excel 11.0 Object Library Una vez que ves todos los componentes COM, tienes que agregar: 1) Microsoft Office Interop 11.0 2) Microsoft Excel 11.0 Tras haber agregado las referencias en el código desde donde quieres trabajar con Excel debes agregar los siguientes Imports: 1) Imports System.Runtime.InteropServices.Marshal 2) Imports Microsoft.Office.Interop A partir de ahora puedes trabajar con Excel sin problemas. El modo de trabajo básicamente consiste en crear un objeto que de algún modo hará de aplicación Excel Dim xlApp As Object 'Un Libro de Excel dim xlBook As Excel.Workbook ' Una hoja del libro Dim xlSheet As Excel.Worksheet Inicializar Excel y obtener un objeto de Aplicacion Set xlApp = Nothing oXL = CreateObject("Excel.Application") Dim ruta_excel as string ruta_excel = "c:\x.xls" Set xlApp = Nothing Set xlApp = CreateObject("Excel.Application") Set xlBook = Nothing Set xlBook = xlApp.Workbooks.Open(ruta_excel) Set xlSheet = xlBook.Worksheets(1) 'aqui lo muestras en pantalla xlApp.Visible = True 'asi cambiamos los valores xlApp.Cells(Y, X).Value="escribo en el archivo" |
| |||
Respuesta: Exportar gridview a excel Gracias por la respuesta. He usado el código que me das pero no consigo lo que quiero. lo que quiero es abrir una hoja ya hecha e introducirle los datos del gridview. La hoja ya tiene el formato que quiero, solo quiero que los datos del gridview se pongan en la hoja. ¿Hay alguna forma de hacerlo? |
| |||
Respuesta: Exportar gridview a excel El código que tengo es el de antes: Protected Sub bexportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) ExportToExcel("Report.xls", GridView1) End Sub Private Sub ExportToExcel(ByVal strFileName As String, ByVal dg As GridView) Response.Clear() Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.Charset = "" Me.EnableViewState = False Dim oStringWriter As New System.IO.StringWriter Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter) GridView1.RenderControl(oHtmlTextWriter) Response.Write(oStringWriter.ToString()) Response.[End]() End Sub Con este código lo que consigo es abrir un "nuevo" archivo excell y poner en él el contenido del GridView1. Lo que quiero es abrir un archivo "ya existente" en el directorio de la aplicación y meter en él los datos del Gridview1, respetando el formato que previamente le he dado al archivo. Por ejemplo, imagina que tengo en el directorio de la aplicación un archivo excell llamado "informe mensual". Lo que quiero es que desde el código se llame a ese archivo, se abra y se pongan en él los datos del Gridview, respetando los anchos de columnas, encabezados de columna, etc, del archivo "informe mensual". No se si me he terminado de explicar bien, la verdad es un poco "particular" lo que pretendo, pero te lo agradecería si me pudieras orientar. Gracias. |
Etiquetas: |