VB_a_xls

http://www.vb-mundo.com/exportar-datos-de-un-programa-de-visualbasic-net-a-excel/ 


En este artículo se muestra cómo automatizar Microsoft Excel y cómo rellenar un rango de celdas con un Textbox y con un listview.
1. Iniciaremos Microsoft Visual Studio .NET.
2. En el menú Archivo, haga clic en Nuevo y, después, en Proyecto. Seleccione Aplicación para Windows en los tipos de proyecto de Visual Basic. De forma predeterminada, se crea Form1.

VB_a_xls2

4. En el Form1 he agregado un TextBox  y un ListView que son los usare para exportar los datos a Excel. Y un botón que es el encargado de generar la acción.


VB_a_xls3


5 . En el código del botón agregare todo el código,  es bastante sencillo y lo he comentado para aclarar que funciona cada línea importante.
Visual Basic   copy code
  • ‘Variables locales
  •  
  • Dim oExcel As Object
  • Dim oBook As Object
  • Dim oSheet As Object
  •  
  • ‘Iniciar un nuevo libro en Excel
  •  
  • oExcel = CreateObject(“Excel.Application”)
  •  
  • oBook = oExcel.Workbooks.Add
  •  
  • ‘Agregar datos a las celdas de la primera hoja en el libro nuevo
  •  
  • oSheet = oBook.Worksheets(1)
  •  
  • ‘ Agregamos Los datos que queremos agregar
  •  
  • oSheet.Range(“A3″).Value = TextBox1.Text
  •  
  • ‘ Esta celda tendra los datos del textbox
  •  
  • oSheet.Range(“A10″).Value = “CODIGO”
  •  
  • ‘ estas celdas por defecto solo seran para identificar cada columna
  •  
  • oSheet.Range(“B10″).Value = “TIPO”
  •  
  • oSheet.Range(“C10″).Value = “DESCRIPCION”
  •  
  • oSheet.Range(“D10″).Value = “MODELO”
  •  
  • oSheet.Range(“E10″).Value = “REGIS”
  •  
  • oSheet.Range(“F10″).Value = “DISPO”
  •  
  • ‘Desde aqui empezaremos a exportar la lista
  •  
  • If ListView1consul2.Items.Count > 0 Then
  •  
  • ‘ primero verificamos cuantas filas tiene la lista
  •  
  • Dim col As Integer = 11 empezaremos en el libro de excel a partir de la celda 11
  •  
  • Dim i As Integer ‘ for para empezar a recorrer la lista
  •  
  • For i = 0 To ListView1consul2.Items.Count
  •  
  • If i = ListView1consul2.Items.Count Then
  •  
  • Exit For
  •  
  • End If
  •  
  • ‘ estas son las columnas que usaremos y el contador nos ira cargando una a una cada fila
  •  
  • Dim a As String = “A” + col.ToString + “”
  •  
  • Dim b As String = “B” + col.ToString + “”
  •  
  • Dim c As String = “C” + col.ToString + “”
  •  
  • Dim d As String = “D” + col.ToString + “”
  •  
  • Dim j As String = “E” + col.ToString + “”
  •  
  • Dim f As String = “F” + col.ToString + “”
  •  
  • oSheet.Range(a).Value = ListView1consul2.Items(i).SubItems.Item(0).Text.ToString
  •  
  • oSheet.Range(b).Value = ListView1consul2.Items(i).SubItems.Item(1).Text.ToString
  •  
  • oSheet.Range(c).Value = ListView1consul2.Items(i).SubItems.Item(2).Text.ToString
  •  
  • oSheet.Range(d).Value = ListView1consul2.Items(i).SubItems.Item(3).Text.ToString
  •  
  • oSheet.Range(j).Value = ListView1consul2.Items(i).SubItems.Item(4).Text.ToString
  •  
  • oSheet.Range(f).Value = ListView1consul2.Items(i).SubItems.Item(5).Text.ToString
  •  
  • col = col + 1
  •  
  • ListView1consul2.Items.Remove(ListView1consul2.Items.Item(i))
  •  
  • ‘ removemos cada el elemento esto es solo si desean hacerlo
  •  
  • ‘ otra opcion es poner el contador positivo y no eliminar el elemento de la lista
  •  
  • i = i − 1
  •  
  • Next
  •  
  • End If
  •  
  • ‘ hacemos visible el documento
  •  
  • oExcel.Visible = True
  •  
  • oExcel.UserControl = True
  •  
  • ‘Guardaremos el documento en el escritorio con el nombre prueba
  •  
  • oBook.SaveAs(Environ(“UserProfile”) & “\desktop\Prueba.xls”)

Deja un comentario