none
drag and drop excel RRS feed

  • Pregunta

  • Buenas tardes a todos. Tengo este pequeño problema. Espero puedan ayudarme.

    Tengo un método (Aplicación Windows Forms) el cuál selecciona un archivo excel (Guardado en formato Excel 97-2003) a través de openFileDialog y lo que hace es leerlo y mostrar su contenido en un dataGridView, así.

    try
                {
                    OpenFileDialog openFileDialog1 = new OpenFileDialog();  //create openfileDialog Object
                    openFileDialog1.Filter = "Archivos Excel|*.xls;";//open file format define Excel Files(.xls)|*.xls| Excel Files(.xlsx)|*.xlsx|
                    openFileDialog1.Multiselect = false;        //not allow multiline selection at the file selection level
                    openFileDialog1.Title = "Cargar Archivo Excel";   //define the name of openfileDialog
                    openFileDialog1.InitialDirectory = "C:\\Users\\" + Environment.UserName + "\\Desktop\\"; //define the initial directory
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)        //executing when file open
                    {
                        txtNombreArchivo.Text = openFileDialog1.FileName;
                        String name = "";
                        String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties='Excel 8.0;HDR=YES;';";
                        OleDbConnection con = new OleDbConnection(constr);
                        con.Open();
                        DataTable tabla = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                        foreach (DataRow item in tabla.Rows)
                        {
                            name = item["TABLE_NAME"].ToString();
                        }
                        OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "]", con);
                        OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
                        DataTable data = new DataTable();
                        sda.Fill(data);
                        dgvDatosExcel.DataSource = data;
                        formato_dgv();
                        lblCantidad.Text = dgvDatosExcel.Rows.Count.ToString();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error al cargar y leer el archivo Excel. Detalles: " + ex.Message, "ERROR AL LEER", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

    Esto funciona a la perfección. Lo que me gustaría hacer para que sea mas llamativo mi sistema, es poder arrastrar dicho archivo excel a algún rectángulo dibujado (puede ser un groupBox) o si no hay más manera al mismo dataGridView y al soltar el archivo, que lo lea y cargue en el datagridview los datos que este contiene....se puede hacer eso???

    Alguien que tenga algún tutorial o algo para poder comenzar a entender. De ser así le estaría muy agradecido.

    Muchas gracias por todo. Saludos !!

    martes, 15 de mayo de 2018 19:27

Respuestas

Todas las respuestas