InicioCiencia EducacionImportar y exportar datos de excel a datagridview

Importar y exportar datos de excel a datagridview

Ciencia Educacion11/9/2012




A continuación les dejo el codigo fuente del programa hecho en visual basic 2010

Los nombres de los objetos y su correspondiente uso se los nombre en siguiente listado

usamos

DataGridView1 para ingresar y almacenar los datos a exportar o los importados

Button1 para Exportar los datos a Excel lleva el nombre de Exportar

Button2 para Importar los datos de Excel al DataGridView1 lleva el nombre de Importar

Form1 que se usa como interfaz

Bueno para finalizar la explicación antes de porner el codigo fuente debemos importar las referencias System.Data.OleDb y crear un metodo el cual llame Exportar_Excel

Imports System.Data.OleDb
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Class Form1

Public Sub Exportar_Excel(ByVal dgv As DataGridView, ByVal pth As String)

Dim xlApp As Object = CreateObject("Excel.Application"
'crear una nueva hoja de calculo
Dim xlWB As Object = xlApp.WorkBooks.add
Dim xlWS As Object = xlWB.WorkSheets(1)

'exportamos los caracteres de las columnas
For c As Integer = 0 To DataGridView1.Columns.Count - 1
xlWS.cells(1, c + 1).value = DataGridView1.Columns(c).HeaderText
Next
'exportamos las cabeceras de columnas
For r As Integer = 0 To DataGridView1.RowCount - 1
For c As Integer = 0 To DataGridView1.Columns.Count - 1
xlWS.cells(r + 2, c + 1).value = DataGridView1.Item(c, r).Value
Next
Next
'guardamos la hoja de calculo en la ruta especificada
xlWB.saveas(pth)
xlWS = Nothing
xlWB = Nothing
xlApp.quit()
xlApp = Nothing
End Sub
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Este es el Button1 = Exportar
Private Sub Button1_Click

Dim save As New SaveFileDialog
save.Filter = "Archivo Excel | *.xlsx"
If save.ShowDialog = Windows.Forms.DialogResult.OK Then
Exportar_Excel(Me.DataGridView1, save.FileName)
End If
End Sub
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Este es el Button2 = Importar
Private Sub Button2_Click

Dim stRuta As String = ""
Dim openFD As New OpenFileDialog()
With openFD
.Title = "Seleccionar archivos"
.Filter = "Archivos Excel(*.xls;*.xlsx)|*.xls;*xlsx|Todos los archivos(*.*)|*.*"
.Multiselect = False
.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
If .ShowDialog = Windows.Forms.DialogResult.OK Then
stRuta = .FileName
End If
End With
Try
Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";")) 'este es el codigo que funciona para office 2007 y 2010
Dim cnConex As New OleDbConnection(stConexion)
Dim Cmd As New OleDbCommand("Select * From [Hoja1$]"
Dim Ds As New DataSet
Dim Da As New OleDbDataAdapter
Dim Dt As New DataTable
cnConex.Open()
Cmd.Connection = cnConex
Da.SelectCommand = Cmd
Da.Fill(Ds)
Dt = Ds.Tables(0)
Me.DataGridView1.Columns.Clear()
Me.DataGridView1.DataSource = Dt
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error"
End Try
End Sub
---------------------------------------------------------------------------------------------------------------------------------------------------------------------

Bueno esto es el codigo del programa probado y sin errores. Pueden cambiar las variables por el nombre que ustedes gusten.

para visualizar la interfaz y el funcionamiento vean el video de youtube que puse al principio.
Datos archivados del Taringa! original
0puntos
542visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

r
rafinho131🇦🇷
Usuario
Puntos0
Posts8
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.