Foros del Web » Programando para Internet » ASPX (.net) »

Pasar datos de Access a Excel

Estas en el tema de Pasar datos de Access a Excel en el foro de ASPX (.net) en Foros del Web. Hola a tod@s. Necesito que me ayuden. En una página .aspx tengo que crear un botón, que al pulsarlo me pase todo el contenido de ...
  #1 (permalink)  
Antiguo 31/07/2009, 04:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Pasar datos de Access a Excel

Hola a tod@s. Necesito que me ayuden.

En una página .aspx tengo que crear un botón, que al pulsarlo me pase todo el contenido de una tabla de access a una página de Excel.

Alguien sabe cómo?

Gracias
  #2 (permalink)  
Antiguo 31/07/2009, 07:21
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Pasar datos de Access a Excel

Primero debes acceder a los datos que tienes en tu base de datos .mdb

visita este link

cuando tengas tu dataTable, que le llamare MiDataTable

sigues este "pequeño tutorial", esta hecho en VB.net, lo puedes convertir a C# con cualquier convertidor de codigo
Código VB.NET:
Ver original
  1. ' Creamos un objeto Excel
  2.         Dim m_Excel As Excel.Application
  3.         ' Variable para controlar la ruptura por nombre de categorías
  4.         Dim CategoryName As String
  5.         ' Creamos un objeto WorkBook, manejará el documento
  6.         Dim objLibroExcel As Excel.Workbook
  7.         ' Creamos un objeto WorkSheet, manejará la hoja del documento
  8.         Dim objHojaExcel As Excel.Worksheet
  9.  
  10. ''''''''''''''''''SE CREA EL DOCUMENTO ''''''''''''''''''''''''
  11.  
  12.         ' Creamos una instancia del Workbooks de Excel
  13.         ' Creamos una instancia de la primera hoja de trabajo de Excel
  14.         objLibroExcel = m_Excel.Workbooks.Add()
  15.         objHojaExcel = objLibroExcel.Worksheets(1)
  16.         objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
  17.         objHojaExcel.Name = "REPORTE"
  18.  
  19.         'Se hace activa la hoja 1 (seleccionada)
  20.         objHojaExcel.Activate()
  21.  
  22.         ' Crear el encabezado de nuestro informe
  23.         ' Fomrato encabezado: negrita, letras rojas, tamañode letra 16
  24.         objHojaExcel.Range("A1:F1").Merge()
  25.         objHojaExcel.Range("A1:F1").Value = "                            titulo 1"
  26.         objHojaExcel.Range("A1:F1").Font.Bold = True
  27.         objHojaExcel.Range("A1:F1").Font.Color = RGB(255, 100, 0)
  28.         objHojaExcel.Range("A1:F1").Font.Size = 14
  29.         objHojaExcel.Range("A1:F1").HorizontalAlignment = Excel.Constants.xlCenter
  30.         objHojaExcel.Range("A1:F1").VerticalAlignment = Excel.Constants.xlCenter
  31.         'margenes izquierdo y derecho de la hoja
  32.         'objHojaExcel.PageSetup.LeftMargin = m_Excel.InchesToPoints(0.5)
  33.         'objHojaExcel.PageSetup.RightMargin = m_Excel.InchesToPoints(0.5)
  34.  
  35.         'se inserta una imagen en el costado superior izquierdo de la hoja
  36.         objHojaExcel.Pictures.Insert("urldetuimagen")
  37.  
  38.         ' Crear el subencabezado de nuestro informe
  39.         ' Formato subencabezado: negrita, cursiva, tamaño 14
  40.         objHojaExcel.Range("A2:F2").Merge()
  41.         objHojaExcel.Range("A2:F2").Value = "                          subtitulo"
  42.         objHojaExcel.Range("A2:F2").Font.Italic = True
  43.         objHojaExcel.Range("A2:F2").Font.Color = RGB(0, 100, 100)
  44.         objHojaExcel.Range("A2:F2").Font.Bold = True
  45.         objHojaExcel.Range("A2:F2").Font.Size = 13
  46.         objHojaExcel.Range("A2:F2").HorizontalAlignment = Excel.Constants.xlCenter
  47.         objHojaExcel.Range("A2:F2").VerticalAlignment = Excel.Constants.xlCenter
  48.  
  49.         'en el encabezado se ponen los datos del reporte
  50.         'formato negrita, cursiva, tamanio 12
  51.         objHojaExcel.Range("A4:F4").Merge()
  52.         objHojaExcel.Range("A4:F4").Value = "subtitulo2"
  53.         objHojaExcel.Range("A4:F4").Font.Italic = True
  54.         objHojaExcel.Range("A4:F4").Font.Color = RGB(100, 100, 100)
  55.         objHojaExcel.Range("A4:F4").Font.Bold = True
  56.         objHojaExcel.Range("A4:F4").Font.Size = 12
  57.         objHojaExcel.Range("A4:F4").HorizontalAlignment = Excel.Constants.xlCenter
  58.         objHojaExcel.Range("A4:F4").VerticalAlignment = Excel.Constants.xlCenter
  59.  
  60.         'Ahora se dará nombre a las cabeceras de la tabla
  61.         Dim objCelda As Excel.Range
  62.         objCelda = objHojaExcel.Range("A6", "A6")
  63.         objCelda.Value = "dato1"
  64.         objCelda = objHojaExcel.Range("B6", "B6")
  65.         objCelda.Value = "dato2"
  66.         objCelda = objHojaExcel.Range("C6", "C6")
  67.         objCelda.Value = "dato3"
  68.         objCelda = objHojaExcel.Range("D6", "D6")
  69.         objCelda.Value = "dato4"
  70.         objCelda = objHojaExcel.Range("E6", "E6")
  71.         objCelda.Value = "dato5"
  72.         objCelda = objHojaExcel.Range("F6", "F6")
  73.         objCelda.Value = "dato6"
  74.         objCelda = objHojaExcel.Range("G6", "G6")
  75.  
  76.         'variables de controla para desplegar los registros de las tablas
  77.         Dim i As Integer = 7
  78.         CategoryName = ""
  79.         For Each objRow As DataRow In MiDataTable.Rows
  80.             ' Asignar la categoria impresa
  81.             CategoryName = objRow.Item(0)
  82.             ' Asignar los valores de los registros a las celdas
  83.             objHojaExcel.Cells(i, "A") = objRow.Item(0)
  84.             objHojaExcel.Cells(i, "B") = objRow.Item(1)
  85.             objHojaExcel.Cells(i, "C") = objRow.Item(2)
  86.             objHojaExcel.Cells(i, "D") = objRow.Item(3)
  87.             objHojaExcel.Cells(i, "E") = objRow.Item(4)
  88.             objHojaExcel.Cells(i, "F") = objRow.Item(5)
  89.             ' Avanzamos una fila
  90.             i += 1
  91.         Next
  92.         ' Seleccionar todo el bloque desde A1 hasta F #de filas
  93.         Dim objRango As Excel.Range = objHojaExcel.Range("A6:F" & (i - 1).ToString)
  94.         ' Seleccionamos todo el rango especificado
  95.         objRango.Select()
  96.         ' Ajustamos el ancho de las columnas al ancho maximo del contenido de sus celdas
  97.         objRango.Columns.AutoFit()
  98.         ' Asignar filtro por columna
  99.         objRango.AutoFilter(1, , VisibleDropDown:=True)
  100.         ' Asignar un formato automatico
  101.         objRango.AutoFormat(11, Alignment:=False)
  102.         ' Seleccionamos el total general del reporte y asignamos
  103.         ' font a negrita e italica
  104.         objRango = objHojaExcel.Range("A" & i.ToString & ":F" & i.ToString)
  105.         objRango.Select()
  106.         objRango.Font.Bold = True
  107.         objRango.Font.Italic = True
  108.         ' Total de datos en la lista
  109.         objRango = objHojaExcel.Range("B3", "C3")
  110.         objRango.Select()
  111.         objRango.Font.Bold = True
  112.         objHojaExcel.Cells(3, 2) = "                                       otro subtitutlo"
  113.  
  114.  
  115.         'se construye la ruta donde se guardara el archivo
  116.         Dim path, nn As String
  117.         path = "D:\carpeta"
  118.         Dim d As Date
  119.         nn = "Reporte.xls"
  120.  
  121.         nombre = path + "\" + nn 'nombre final de archivo
  122.         objLibroExcel.SaveAs(nombre) 'se guarda el archivo
  123.  
  124.         'Salir de Excel y liberar objetos
  125.         objLibroExcel.Close()
  126.         m_Excel.Quit()
  127.         ReleaseComObject(objCelda)
  128.         ReleaseComObject(objHojaExcel)
  129.         ReleaseComObject(objRango)
  130.         ReleaseComObject(objLibroExcel)
  131.         ReleaseComObject(m_Excel)
  132.         m_Excel = Nothing
  133.         objLibroExcel = Nothing
  134.         objHojaExcel = Nothing
  135.         objRango = Nothing
  136.         objCelda = Nothing
  137.         System.GC.Collect()

Saludos!
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
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 16:22.