Este código lo encontre ya hace tiempo googleando sin embargo era muy extenso lo simplifique lo más que pude y bueno aquí lo dejo:
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Imports System.Configuration Public Sub CargarArchivoX()
If FileUpload1.HasFile Then
Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
Dim Extension As String = Path.GetExtension(FileUpload1.PostedFile.FileName)
Dim FilePath As String = Server.MapPath("../../Upload/") & FileUpload1.FileName
FileUpload1.SaveAs(Server.MapPath("../../Upload/") & FileUpload1.FileName)
extraedatosX(FilePath, Extension, "Yes")
End If
End Sub
Public Sub extraedatosX(ByVal FilePath As String, ByVal Extension As String, ByVal isHDR As String)
Dim conStr As String = ""
Select Case Extension
Case ".xls"
'Excel 97-03
'conStr = ConfigurationManager.ConnectionStrings("Excel03ConString").ConnectionString()
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
Exit Select
Case ".xlsx"
'Excel 07
'conStr = ConfigurationManager.ConnectionStrings("Excel07ConString").ConnectionString
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
Exit Select
End Select
conStr = String.Format(conStr, FilePath, isHDR)
Dim connExcel As New OleDbConnection(conStr)
Dim cmdExcel As New OleDbCommand()
Dim oda As New OleDbDataAdapter()
Dim dt As New DataTable()
cmdExcel.Connection = connExcel
'Get the name of First Sheet
connExcel.Open()
Dim dtExcelSchema As DataTable
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
'dtExcelSchema.Rows.C()
Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
connExcel.Close()
'Read Data from First Sheet
connExcel.Open()
cmdExcel.CommandText = "SELECT * From [" & SheetName & "]"
oda.SelectCommand = cmdExcel
oda.Fill(dt)
connExcel.Close()
grdgenerico.Caption = Path.GetFileName(FilePath)
grdgenerico.DataSource = dt
grdgenerico.DataBind()
End Sub
Tomando en cuenta que tienen un boton o un link button que al darle click simplemente debe mandar llamar la función CargarArchivoX() y que se debe contar con un FileUpload llamado FileUpload1 y por último un gridview llamado grdgenerico y una carpeta llamada Upload dos niveles arriba de la Aplicacion con permisos de escritura
martes, 16 de noviembre de 2010
Cargar o Subir un archivo de Excel extension xls o xlsx en vb .net
Suscribirse a:
Enviar comentarios (Atom)
Muy bueno.
ResponderEliminarTambién ejemplos básicos: http://tupagina.comuf.com/