Importando de Excel

21/09/2006 - 01:20 por Edwin Rivera | Informe spam
hola como estan tengo una duda como podria importar los datos que tengo en
excel para que me guarde directamente en la base de datos de sql2000 claro
todo por medio del visual studio.net 2003 y tambien como puedo incluir el
excel en un formulario de visualstudio.net 2003
Gracias por la respuesta
 

Leer las respuestas

#1 SoftJaén
21/09/2006 - 11:00 | Informe spam
"Edwin Rivera" preguntó:

como podria importar los datos que tengo en excel para que me
guarde directamente en la base de datos de sql2000



Hola, Edwin:

Me limito sólo a responderte a la primera pregunta de tu mensaje. Para la
segunda pregunta, te aconsejaría que iniciaras un nuevo mensaje, si así lo
crees oportuno, claro está.

Si los datos que tienes en tu hoja de cálculo de Excel, se asemejan a una
tabla cualquiera de una base de datos, es decir, un conjunto de registros
(filas) y campos (columnas), puedes hacer uso del ISAM de Excel para
exportar los datos a la base de SQL Server, utilizando el driver ODBC de
Microsoft SQL Server para establecer la conexión con el servidor.

El ejemplo que muestro a continuación, abre una conexión OleDb con el libro
de trabajo de Excel, y ejecuta una consulta SQL de creación de tabla (SELECT
* INTO), para crear una nueva tabla en la base de datos de SQL Server, con
los datos existentes en una supuesta hoja de cálculo llamada «Hoja1»:

Imports System.Data.OleDb

' Construimos la cadena de conexión Ole Db,
' para conectarnos con el libro de Excel.
'
Dim connString As String = _
"Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = C:\Mis documentos\Libro1.xls;" & _
"Extended Properties='Excel 8.0;HDR=Yes'"

' Creamos un nuevo objeto Connection
'
Dim cnn As New OleDbConnection(connString)

Try
' Creamos la consulta SQL de creación de tabla,
' indicando que vamos a utilizar el driver
' ODBC de Microsoft SQL Server
'
Dim sql As String = _
"SELECT * INTO [Nombre_Tabla_SQL Server] " & _
"IN ''[ODBC;DRIVER={SQL Server};" & _
"Server=Nombre_Instancia_Servidor_SQL;" & _
"Database=Nombre_Base_Datos_SQL_2000;" & _
"UID=Cuenta_Usuario;" & _
"PWD=Contraseña_Usuario]" & _
"FROM [Hoja1$] " & _

' Configuramos un objeto Command para ejecutar
' la consulta SQL de creación de tabla
'
Dim cmd As New OleDbCommand(sql, cnn)

' Abrimos la conexión
cnn.Open()

' Ejecutamos la consulta
Dim n As Integer = cmd.ExecuteNonQuery()

MessageBox.Show("Se creado satisfactoriamente la tabla." & _
ControlChars.CrLf & _
"Número de registros afectados: " & n.ToString, _
"Exportar datos a SQL Server")

Catch ex As OleDbException
MessageBox.Show(ex.Errors(0).Message)

Catch ex As Exception
MessageBox.Show(ex.Message)

Finally
' Cerramos la conexión
cnn.Close()
cnn = Nothing

End Try

Para más información sobre el ISAM de Excel, consulta el siguiente artículo
técnico, y adapta los ejemplos que aparecen en el mismo, para ser ejecutados
con Visual Basic .net:

Trabajar con ADO, DAO y Excel
http://mvp-access.com/softjaen/arti..._excel.htm

Un saludo

Enrique Martínez
[MS MVP - VB]


Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares