adoniesis serna
unread,Jul 9, 2013, 4:52:12 PM7/9/13You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
hola
necesito insertar datos de excel .xls a sql server usando visual basic.
es un formulario que al darle clic busca en en disci duro el archivo excel a cargar e insertar en la base de datos de sql server(se hacen los 2 pasos inserta los datos y luego los muestra en un datagridview con sus columnas ya creadas)
hasta el momento tengo esto pero no me carga los datos al datagriew:
PD: agradeceria ampliamente colaboracion respecto a esto. grcaias de antemano.
Private Sub Importar()
Dim sFileName As String = ""
Dim openFD As New OpenFileDialog()
With openFD
.Title = "Seleccionar archivos"
.Filter = "Todos los archivos (*.xls)|*.xls"
.Multiselect = False
.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
If .ShowDialog = System.Windows.Forms.DialogResult.OK Then
sFileName = .FileName
Else
MsgBox("No fue posible cargar el archivo", MsgBoxStyle.Critical, "Validacion")
Exit Sub
End If
End With
cn.ConnectionString = ccn
ocommand.Connection = cn
cn.Open()
Try
Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFileName & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
'strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + sFileName + ";" + "Extended properties=Excel 8.0;"
Dim mconn As New OleDbConnection(strconn)
Dim ad As New OleDb.OleDbDataAdapter("SELECT * FROM [Hoja1$]", mconn)
Dim tblFact As New DataTable
mconn.Open()
ad.Fill(tblFact)
mconn.Close()
With FrmPrincipal
.ProgressBar.Visible = True
.lblStat.Visible = True
.ProgressBar.Value = 0
.ProgressBar.Maximum = tblFact.Rows.Count
.ProgressBar.Step = 1
.lblStat.Text = "Cargando datos ..."
.Refresh()
End With
For i = 0 To tblFact.Rows.Count - 1
Dim drows As DataRow = tblFact.Rows(i)
Try
ocommand.CommandText = "INSERT INTO [facturacion transportadoras] VALUES ('" & _
drows(0) & "','" & drows(1) & "','" & drows(2) & "','" & drows(3) & "','" & drows(4) & _
"','" & drows(5) & "','" & drows(6) & "','" & drows(7) & "','" & drows(8) & "')"
ocommand.ExecuteNonQuery()
dgfact.Rows.Add(drows(0), drows(1), drows(2), drows(3), drows(4), drows(5), drows(6), drows(7), drows(8))
dgfact.Rows(i).HeaderCell.Value = (i + 1).ToString
FrmPrincipal.ProgressBar.PerformStep()
Catch ex As Exception
End Try
Next i
dgfact.RowHeadersWidth = 60
With FrmPrincipal
.ProgressBar.Visible = False
.lblStat.Visible = False
.ProgressBar.Value = 0
.lblStat.Text = Nothing
.ProgressBar.Visible = False
End With
Catch ex As OleDbException
MessageBox.Show(ex.Message)
Finally
cn.Close()
End Try
End Sub