C# Cargar Datos Desde Hoja Excel a Base de Datos MSSQL


Monetize your website traffic with yX Media
En muchas ocasiones, cuando creamos aplicaciones que manejan bases de datos de tipo SQL, el cliente nos pregunta si no podemos cargar los datos de la base de datos desde una Hoja de Cálculo Excel para agilizar la carga de datos, ya que él la tiene en ese formato.

Nuestras aplicaciones pueden tener como valor agregado la capacidad de poder importar datos desde Excel.

Este es precisamente el código que les traigo a continuación en C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
//Agregar referencia a esta DLL si va cargar los datos de la tabla de Excel a SQL Server
using dBData;


namespace ImportarExcel
{
    public partial class FrmImportar : Form
    {
        public FrmImportar()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //Creamos un objeto OpenDialog que es un cuadro de dialogo para buscar archivos
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "Archivos de Excel (*.xls;*.xlsx)|*.xls;*.xlsx"; //Le indicamos el tipo de filtro en este caso que busque
            //solo los archivos excel

            dialog.Title = "Seleccione el archivo de Excel";//Le damos un titulo a la ventana

            dialog.FileName = string.Empty;//Inicializamos con vacio el nombre del archivo

            //Si al seleccionar el archivo damos Ok
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                //El nombre del archivo sera asignado al textbox
                txtArchivo.Text = dialog.FileName;
                string hoja = "Plan1"; //La variable hoja tendra el valor del textbox donde colocamos el nombre de la hoja
                LLenarGrid(txtArchivo.Text, hoja); //Se manda a llamar al metodo

                DGV1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //Se ajustan las
                //columnas al ancho del DataGridview para que no quede espacio en blanco (opcional)
            }

        }

        private void LLenarGrid(string archivo, string hoja)
        {
            //declaramos las variables         
            OleDbConnection conexion = null;
            DataSet dataSet = null;
            OleDbDataAdapter dataAdapter = null;
            
            string consultaHojaExcel = "Select * from [" + hoja + "$]";

            //esta cadena es para archivos excel 2007 y 2010
            //string cadenaConexionArchivoExcel = "provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + archivo + "';Extended Properties=Excel 12.0;";
            //string cadenaConexionArchivoExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + archivo + "';Extended Properties=Excel 8.0;";

            //para archivos de 97-2003 usar la siguiente cadena
            string cadenaConexionArchivoExcel = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + archivo + "';Extended Properties=Excel 8.0;";

            //Validamos que el usuario ingrese el nombre de la hoja del archivo de excel a leer
            if (string.IsNullOrEmpty(hoja))
            {
                MessageBox.Show("No hay una hoja para leer");
            }
            else
            {
                try
                {
                    //Si el usuario escribio el nombre de la hoja se procedera con la busqueda
                    conexion = new OleDbConnection(cadenaConexionArchivoExcel);//Creamos la conexion con la hoja de excel
                    conexion.Open(); //Abrimos la conexion
                    dataAdapter = new OleDbDataAdapter(consultaHojaExcel, conexion); //Traemos los datos de la hoja y las guardamos en un dataAdapter
                    dataSet = new DataSet(); // Creamos la instancia del objeto DataSet
                    dataAdapter.Fill(dataSet, hoja);//Llenamos el dataset
                    DGV1.DataSource = dataSet.Tables[0]; //Le asignamos al DataGridView el contenido del dataSet
                    conexion.Close();//Cerramos la conexion
                    DGV1.AllowUserToAddRows = false;//Eliminamos la ultima fila del datagridview que se autoagrega
                }
                catch (Exception ex)
                {
                    //En caso de haber una excepcion que nos mande un mensaje de error:
                    //MessageBox.Show("Error, Verificar el archivo o el nombre de la hoja", ex.Message);
                    MessageBox.Show(ex.ToString());
                }
            }
        }

        private void BotCargarDatos_Click(object sender, EventArgs e)
        {
            string CC = @"Data Source=NombreServidor;Initial Catalog=NombreBaseDeDatos;Persist Security Info=True;User ID=Usuario;Password=password";
            for (int i = 0; i < DGV1.Rows.Count; i++)
            {
                //Si va a insertar los datos:
                //Datos.Insertar(CC, "NombreTabla", "Contrato, Filial", "'" + DGV1["Contrato",i].ToString() + "', '" + DGV1["Filial",i].ToString() + "'"
                
                //Si va a actualizar los datos
                string SET = "Contrato = '" + DGV1["Contrato", i].Value.ToString().Trim() + "', Filial = '" + DGV1["Filial", i].Value.ToString().Trim() + "'";
                string Condicion = "Contenedor = '" + DGV1["Container", i].Value.ToString().Trim() + "' AND Activo = 'True' AND BCampo4 = 'False' OR BCampo4 IS NULL";
                Datos.Actualizar(CC, "NombreTabla", SET, Condicion);
                if (Datos.Mensaje != "")
                {
                    MessageBox.Show(Datos.Mensaje);
                }
            }
            MessageBox.Show("Finalizado");
            
        }

    }
}



Código completo listo para descargar aqui:

 Cargar datos de Excel a SQL
Enlace alternativo:

 Cargar datos de Excel a SQL

Pack de 60 Libros y Tutoriales Arduino y Raspberry Pi


Monetize your website traffic with yX Media
Pack de más de 60 Libros y Tutoriales de Arduino, Netduino, Raspberry Pi, Pin-Out Arduino.

Contenido de libros del Pack:

01 - Learning Processing - Daniel Shiffman
02 - iOS Sensor Apps with Arduino - Alasdair Allan
03 - Internet of Things with Arduino - Marco Schwartz
04 - Home Security Projects for Arduino - Tim Rustige
05 - Getting Started with RFID - Tom Igoe
06 - Getting Started with Windows Remote Arduino - Agus Kurniawan
07 - Getting Started with Arduino - Massimo Banzi
08 - Flowcode + Arduino - José Manuel Ruiz Gutiérrez
09 - C Programming for Arduino - Julien Bayle
10 - Beginning NFC (Near Field Communication With Arduino, Android & Phonegap) - Tom Igoe, Don Coleman & Brian Jepson
11 - Connecting Arduino. Programming and Networking with the Ethernet Shield - Bob Hammel
12 - Building Wireless Sensor Networks - Robert Faludi
13 - SoapBox Snap - Como convertir Arduino en un PLC - José Manuel Ruiz Gutiérrez
14 - Arduino Basic Connections - Recopilación de conexiones de diferentes componentes y sensores con Arduino
15 - WinFACT + Arduino - José Manuel Ruiz Gutiérrez
16 - The Hands-On Arduino Yún. Manual Lab - Agus Kurniawan
17 - Scratch 2.0 + Arduino Snap! + Arduino - José Manuel Ruiz Gutiérrez
18 - Rhino-Grasshopper-Firefly + Arduino - José Manuel Ruiz Gutierrez
19 - Raspberry Pi Home Automation with Arduino - Andrew K. Dennis
20 - Programming Arduino Next Steps - Simon Monk
21 - Programming Your Home - Automate with Arduino, Android, and Your Computer - Mike Riley
22 - A Designer Guide to Processing  Arduino, and Open Frameworks - Joshua Noble
23 - Entornos Gráficos para la Programación Plataforma Open Hardware Arduino - José Manuel Ruiz Gutiérrez
24 - Professional Android Open Accessory Programming with Arduino - Andreas Goransson, David Cuartielles Ruiz
25 - Pro Arduino - Rick Anderson and Dan Cervo
26 - Practicas con Arduino Nivel 1 - José Manuel Ruiz Gutiérrez
27 - Practicas Arduino Processing - José Manuel Ruiz Gutiérrez
28 - Practical AVR Microcontrollers - Alan Trevennor
29 - Practical Arduino. Cool Projects for Open Hardware - Jonathan Oxer - Hugh Blemings
30 - Practical Arduino Engineering - Harold Timmis
31 - Manual de Programación Arduino - José Manuel Ruiz Gutierrez
32 - Pure Data + Arduino Interaction - José Manuel Ruiz Gutierrez
33 - Open Softwear - Fashionable prototyping and wearable computing using the arduino - Tony Olsson, David Gaetano, Jonas Odhner, Samson Wiklund
34 - MintDuino - James Floyd Kelly & Marc de Vinck
35 - Making Things Talk 2 - Tom Igoe
36 - Making Things Talk - Tom Igoe
37 - Making Things See - Greg Borenstein
38 - Getting Started with Intel Galileo - Matt Richardson
39 - Make: Lego and Arduino Projects - John Baichtal, Matthew Beckler & Adam Wolf
40 - Make An Arduino Controlled Robot - Michael Margolis 
41 - Arduino Succinctly - Marko Svaljek
42 - Arduino Programing Notebook Español - Brian w. Evans
43 - Getting Started with Netduino - Chris Walker
44 - Bus I2C de Arduino - José Manuel Ruiz Gutiérrez
45 - Beginning Android ADK with Arduino - Mario Bohmer
46 - Atmospheric Monitoring With Arduino - Patrick Di Justo and Emily Gertz
47 - Arduino + Pure Data - José Manuel Ruiz Gutiérrez
48 - Arduino Microcontroller Processing for Everyone Part I - Steven F. Barrett
49 - Arduino Workshop. A Hands-On Introduction with 65 Projects - John Boxall
50 - Arduino Starters Kit Manual - A Complete Beginners Guide to the Arduino - Mike McRoberts
51 - Arduino Sketches: Tools and Techniques for Programming Wizardry - James A. Langbridge
52 - Arduino Robotics - John-David Warren, Josh Adams, Harald Molle
53 - Projects to Save the World - Brian Evans
54 - Arduino Projects For Dummies - Brock Craft
55 - Arduino Networking - Marco Schwartz
56 - Arduino Meets Linux - Bob Hammel
57 - Arduino Internals - Dale Wheat
58 - Arduino in Action - Martin Evans, Joshua Noble, Jordan Hochenbaum
59 - Arduino by Example - Adith Jagadish Boloor
60 - Referencia del lenguaje utilizado para programar placas Arduino
61 - Beginning Arduino - Michael McRoberts
62 - Arduino – Curso práctico de formación - Óscar Torrente Artero
63 - Raspberry Pi Projects for the Evil Genius - Donald Norris
64 - 30 Proyectos Con Arduino - Simon Monk



 Pack de 60 Libros y Tutoriales Arduino

Enlace Alternativo:

 Pack de 60 Libros y Tutoriales Arduino y Raspberry Pi

Instale Usted mismo su Computador


Monetize your website traffic with yX Media
Una vez que haya adquirido su nuevo ordenador o computador, tendrá unas cuantas cajas que contienen las distintas partes del mismo con algunos manuales. Antes de comenzar a abrir cajas vamos a dividir la instalación del PC en tres partes:
  1. Elegir el mejor lugar para instalar el PC.
  2. Instalar el PC
  3. Primer encendido y configuración inicial.

Paso 1: Elegir el mejor lugar para instalar el PC.
  • Asegúrese que dispone en el lugar de instalación de al menos una (01) toma de energía eléctrica con el voltaje adecuado para el equipo. Para el caso de América debería ser de 110, 117ó 120 Voltios AC (Corriente Alterna). Para el caso de Europa y otros lugares ésta es de 220 Voltios AC. Es importante ser enfático en se asegure que ésta se encuentre en buen estado y esté energizada, también es importante que sea del mismo voltaje que especifica el fabricante del equipo.
  • En caso de que el equipo se vaya a conectar a una red cableada para tener acceso a otros equipos y a Internet, también debe contar con una toma de red RJ45 Hembra en la pared para poder conectar el equipo a ésta.
  • Tome en cuenta que la mesa o lugar donde instalará el equipo dispone de superficie y espacio suficiente y que aún le quede algo extra para poder trabajar con algunos documentos, realizar una ampliación del equipo o colocar otras cosas que pudiera necesitar más adelante.
  • Tenga la precaución de considerar que una vez instalado el equipo los cables que salen de la mesa hacia la pared, tales como el cable de alimentación y el de la red no queden atravesados o colocados de tal manera que pudieran estorbar a Usted o a otras personas que pudieran desplazarse cerca o alrededor del lugar. Con esto estaría evitando que alguien pudiera tropezar de forma accidental algún cable causando un accidente a Usted, a otra persona o al equipo al recibir el tirón del cable afectado.

Paso 2: Instalar el PC.
  • Comience abriendo las cajas más grandes, ya que éstas contienen el PC, Monitor e impresora, luego las más pequeñas que deberían contener el teclado, ratón o mouse entre otros accesorios. Lea cuidadosamente las instrucciones de ensamblaje de partes sueltas y hágalo con cuidado. Por lo general las partes están diseñadas para acoplar de forma suave, si siente que el acople de dos piezas ofrece más resistencia  de lo normal, posiblemente haya un problema (No es la pieza que corresponde, plástico sobrante de la fabricación, hay que retirar una pieza protectora, tornillo, Etc.). En este caso vuelva a leer las instrucciones de ensamblaje y haga una observación más detallada del problema. Recuerde que después de escuchar un “Crack” en lugar de un “Click” ya es un poco tarde para arrepentirse o revertir el daño.
  • Coloque cada equipo en el lugar que debería ocupar en el espacio reservado para ello. Como siempre empiece con las partes más grandes y luego las más pequeñas. Este es el mejor momento para evaluar si el equipo tiene una colocación y distribución adecuada que no molesta para realizar otras actividades para Usted y las demás personas.
  • Comience conectando el cableado de alimentación de los equipos, menos el de alimentación principal, ese se hará de último, luego siga con los cables de datos y señales entre ellos. Trate de organizar los cables de alimentación por un lado y los de datos y señales por el otro. Esto tiene la finalidad de mejorar la estética del cableado por una parte y por el otro hace que sea más fácil detectar un error de conexión que pudiera impedir que el equipo funcione adecuadamente.
  • Haga un repaso minucioso de todas las conexiones con el fin de detectar a tiempo cualquier omisión o error en las conexiones. Finalmente conecte el equipo a la toma de energía principal.


Paso 3: Primer encendido y configuración inicial.
  • Encienda el UPS o el Estabilizador según sea el caso, una vez que éste inicie y de señal “verde” de voltaje correcto, proceda a encender el Monitor, Ordenador y demás periféricos. Si todo ha salido bien, debería tener algún tipo de señal en la pantalla del monitor indicándole que el sistema está iniciando. En caso de no ser así, apague inmediatamente el equipo y repase todas las conexiones desde el principio, para constatar que todo está correcto. Si no hay errores en la instalación, posiblemente el equipo se encuentre defectuoso y tendrá que devolverlo para hacer uso de la garantía del fabricante.
  • Si ha adquirido el ordenador con Sistema Operativo pre instalado, éste le preguntará algunos datos tales como su nombre, nombre del equipo, nombre y contraseña del WiFi, etc. Una vez respondidas todas las preguntas, el equipo puede que se reinicie y/o continúe con el arranque normal del sistema. En caso de no poseer Sistema Operativo, el ordenador reportará con un mensaje en pantalla que no lo posee y quedará a la espera que Usted inserte algún medio de almacenamiento que posea uno listo para instalar de sus preferencia y proceder , así como los programas con los que va a trabajar.


A continuación se muestra una lista de los elementos involucrados en la instalación del PC u Ordenador.
Imagen
Nombre/Descripción

Toma de energía 120VAC de Pared

Toma de energía 220VAC de Pared

Toma de red RJ45 de Pared

Estabilizador

UPS

Computador

Monitor

Teclado

Mouse

Cable de Alimentación PC/Monitor/Impresora
120VAC

Cable de Alimentación PC/Monitor/Impresora
220 VAC

Cable VGA (Monitor)

Cable HDMI (Monitor)

Cable DVI (Monitor)

Cable de red RJ45 Macho

Cable USB (Impresora)