Insertar datos desde excel a sql

Hola..
Tengo una desarrollo web en visual B 2008 y SQL 2005.
Ahora estoy en la parte en que necesito subir un archivo en excel (CSV) por medio de un explorador de ventanas. Ya lo hice y lo almaceno en una carpeta temporal en el servidor; En este momento estoy frenado porque no se como tomar todos los datos de la hoja de excel e ingresarlos en todas las tablas de BD SQL. Puesto que necesito hacer operaciones con los datos de excel.
Si me puede ayudar, ¿Puedes ser lo más explicito posible?
Mil gracias...

2 respuestas

1
Respuesta de
Bueno en respuesta a tu pregunta existen 3 formas relativamente similares para realizar dicha acción:
Una es creando desde el archivo de excel automáticamente la tabla (el problema que no siempre asigna los valores recibidos como los deseamos)
SELECT * INTO Tu_Tabla  FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;IMEX=1;
DataBase=C:\ArchivoExCel.xls;',
'SELECT * FROM [Hoja1$]')
Y otra es añadiendo la información a una tabla previamente creada (problema con esta opción que se le debe de dar un tratamiento especial a las hojas de excel a que me refiero con esto a que le debes de eliminar todo formato, espacio en blanco o carácter que no concuerde con las especificaiones necesarias de los tipos de datos o marcara error y el código para ello es:
insert Tu_Tabla  select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\NOMBRE_DEL_ARCHIVO.xls;HDR=YES','SELECT * FROM [Hoja1$]')
con esta tercera instruccion deberas ya tener definida la estructura de tu tabla.
Te dejo estos link para que veas más información sobre estas instruccciones (solo sql server 2008 o posterior):
BULK INSERT temp FROM C:\ArchivoExel.xls
WITH (FIELDTERMINATOR =';',ROWTERMINATOR ='/', FIRSTROW = 2)
http://technet.microsoft.com/es-es/library/ms188365.aspx
http://technet.microsoft.com/es-es/library/ms190312.aspx
Si no te funciona avisame y buscamos otra solución
Añade un comentario a esta respuesta
1
Respuesta de
Hola
Lee el archivo por un Streamreader, luego lo lees liena a linea, con String.Split puedes separar cada campo y ya teniéndolos separados los grabas en la tabla de ela base de datos.
Saludos,
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje