• Viernes 17 de Mayo de 2024, 04:28

Autor Tema:  Uso De C# Con Excel  (Leído 4173 veces)

norita

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Uso De C# Con Excel
« en: Viernes 5 de Octubre de 2007, 12:29 »
0
Hola!
¿Podriais decirme si es posible hacer un programa en C#.NEt que tome datos de hojas de calculo excel, los trate y los presente en listados?
Si es asi, ¿veis bien que use la plataforma de visual studio .net?
¿Creeis que seria mejor en otro lenguaje como Java?
Gracias por vuestra ayuda, que estoy muy bloqueada.
Saludos

chuponC++

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Uso De C# Con Excel
« Respuesta #1 en: Miércoles 24 de Octubre de 2007, 18:54 »
0
en excel te toma como tablas los nombres de las hojas pero ademas de eso tienen agregado el signo de pesos ejemplo: hoja1 para trabajar con esa hoja como tabla su nombre seria hoja1$ puedes ver que tiene agregado el signo de pesos y mas, y las columnas las reconoce lo que tengas en la primera fila en este caso el nombre que pongas es el nombre de la columna no lleva agregado el signo de pesos.


Espero te ayude este codigo Saludos

mi correo chuponsoft@gmail.com

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;


namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
           

            string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
            @"Data Source=C:\libro1.xls;" +
            @"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
            OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
            oleConn.Open();
           
           

            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = oleConn;
           
            cmd.Parameters.Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar, 20));
           
            cmd.Parameters["@NOMBRE"].Value = NOMBRE.Text;

            cmd.CommandText = "INSERT INTO [Hoja1$] (num) values (@NOMBRE)";
           
            cmd.ExecuteNonQuery();
           
            NOMBRE.Text = " ";

           

           oleConn.Close();
           dataGridView1.Refresh();

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
            @"Data Source=C:\libro1.xls;" +
            @"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
            OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
            oleConn.Open();
            OleDbDataAdapter orden;
            DataSet tabla;
           
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = oleConn;
            orden = new OleDbDataAdapter("select * from [Hoja1$]", oleConn);
            tabla = new DataSet();
            orden.Fill(tabla, "[Hoja1$]");
            dataGridView1.DataSource = tabla;
            dataGridView1.DataMember = "[Hoja1$]";
            oleConn.Close();
           
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
            @"Data Source=C:\libro1.xls;" +
            @"Extended Properties=" + '"' + "Excel 8.0;HDR=YES" + '"';
            OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
            oleConn.Open();
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = oleConn;
            DataTable tabla;
            tabla = oleConn.GetSchema("Tables");
            DataColumn columna = tabla.Columns.Add(
                "id", typeof (Int32));
            columna.AutoIncrement = true;
            columna.AutoIncrementSeed = 200;
            columna.AutoIncrementStep = 3;
            cmd.CommandText = "UPDATE [Hoja1$] SET id=" + columna;
           
            cmd.ExecuteNonQuery();
           

            oleConn.Close();
        }
    }
}