Iremart.es

Drone paso a paso Ardupilot, Visual studio y otros lenguajes de programación

  • Estadísticas

    • 200Lecturas hoy:
    • 103Lecturas ayer:
    • 127577Total de visitas:
    • 78Hoy:
    • 83Ayer:
    • 667La semana anterior:
    • 1813Visitantes por mes:
    • 84Visitantes por día:
    • 1Visitantes conectados:

Exportar un data grid view a excel 2007

Posted by skskynet on 30th mayo 2010


Hay que agregar la referencia ( Proyecto/Agregar referenciaMicrosoft Excel 12.0 Object Library 1.6
Try

Dim ruta As String = var_ruta_generacion_de_ficheros & “\”

Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object

Abrimos un nuevo libro

oExcel = CreateObject(“Excel.Application”)
oBook = oExcel.workbooks.add

oSheet = oBook.worksheets(1)

Declaramos el nombre de las columnas
oSheet.range(“A1”).value = “Cliente”
oSheet.range(“B1”).value = “Fecha”
oSheet.range(“C1”).value = “Codigo”
oSheet.range(“D1”).value = “Descripcion”
oSheet.range(“E1”).value = “PVP”

para poner la primera fila de los titulos en negrita
oSheet.range(“A1:E1”).font.bold = True

Dim fila_dt As Integer = 0
Dim fila_dt_excel As Integer = 0
Dim tanto_porcentaje As String = “”
Dim marikona As Integer = 0

fila_dp es la fila del datagridview
total_reg es la cantidad de registros que hay en el datagrid

For fila_dt = 0 To total_reg – 1

para leer una celda en concreto

el numero es la columna

Dim cel1 As String = dtview.Item(0, fila_dt).Value
Dim cel2 As String = dtview.Item(1, fila_dt).Value
Dim cel3 As Integer = dtview.Item(2, fila_dt).Value
Dim cel4 As String = dtview.Item(3, fila_dt).Value
Dim cel5 As String = dtview.Item(4, fila_dt).Value

fila_dt_excel = fila_dt + 2

ahora que ya tenemos los datos, asignamos la cel a la celda correspondiente

oSheet.range(“A” & fila_dt_excel).value = cel1
oSheet.range(“B” & fila_dt_excel).value = cel2

para que un numero sea considerado como texto
oSheet.range(“C” & fila_dt_excel).EntireColumn().numberFormat = “@”
oSheet.range(“C” & fila_dt_excel).value = cel3
oSheet.range(“D” & fila_dt_excel).value = cel4

para que sea considerado moneda
oSheet.range(“E” & fila_dt_excel).value = cel5 & “€”

Next
para que el tamano de la columna tenga como minimo el maximo de sus textos
oSheet.columns(“A:E”).entirecolumn.autofit()
para que todas las celdas esten centradas
oSheet.range(“A1:E1”).horizontalalignament = Microsoft.Office.Interop.Excel.Constants.xlCenter

grabar el fichero con su ruta y nombre

oBook.saveas(ruta & “fichero.xls”, Excel.XlFileFormat.xlExcel8)
cerramos excel
oExcel.ActiveWorkbook.Close()

GC.Collect()

oSheet = Nothing
oBook = Nothing
oExcel = Nothing

MsgBox(“Exportacion Correcta”)

Catch ex As Exception

MsgBox(“Fallo en la exportacion”)

End Try

Tags:
Posted in Visual Studio | No Comments »