Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: diego_lp en 22 Abril 2010, 20:17 pm



Título: Problema con funcion para importar excel
Publicado por: diego_lp en 22 Abril 2010, 20:17 pm
Hola a todos, a ver si alquien me puede dar una mano.
Tengo una funcion que funciona bien pero no del todo, a ver, cuando importo los datos de una hoja excel a un datagridview solo me "lee" o "reconoce" cuando la celda tiene determinado formato (por ejemplo formato texto), pero hay celdas que tienen otros formatos que no me las lee, es decir, hay celdas que cuando las importo a mi dgv quedan en blanco  :-\
Tal vez alquien dé con el error o tenga una funcion mas completa que lea todos los formatos de las celdas.
Mi funcion es la siguiente:
Código:
Function ImpExcel(ByVal ruta As String, ByVal dgv As DataGridView)
        'funcion que muestra todos los campos de la hoja 1 de un excel en un datagridview
        Dim miconexion As New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" & ruta & "; Extended Properties=Excel 8.0;")
        Dim comando As New OleDbDataAdapter("select * from [cotizaciones al público$]", miconexion)
        comando.TableMappings.Add("Table", "Attendence")
        Dim DtSet As New DataSet
        comando.Fill(DtSet)
        dgv.DataSource = DtSet.Tables(0)
        Return Nothing
    End Function
Bueno, espero que alguen me pueda dar una mano.
Gracias.
Saludos.


Título: Re: Problema con funcion para importar excel
Publicado por: 43H4FH44H45H4CH49H56H45H en 23 Abril 2010, 08:06 am
De pasada, prueba asi (con un DataTable) :

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.OleDb;
  10.  
  11. namespace Excel
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        private void button1_Click(object sender, EventArgs e)
  21.        {
  22.            try
  23.            {
  24.                DataTable dT = new DataTable();
  25.                String sConect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Libro1.xls;Extended Properties=Excel 8.0;";
  26.                OleDbConnection oConn = new OleDbConnection(sConect);
  27.                OleDbDataAdapter oDa = new OleDbDataAdapter("SELECT * FROM [pru$]", oConn);
  28.                //OleDbDataAdapter oDa = new OleDbDataAdapter("SELECT F1 FROM [pru$]", oConn);
  29.                oConn.Open();
  30.                oDa.Fill(dT);
  31.                oConn.Close();
  32.                dataGridView1.DataSource = dT;
  33.            }
  34.            catch (Exception er)
  35.            {
  36.                MessageBox.Show(er.Message);
  37.            }
  38.        }
  39.    }
  40. }
  41.  

Es similar en VB.NET


Título: Re: Problema con funcion para importar excel
Publicado por: diego_lp en 3 Mayo 2010, 19:18 pm
Gracas 43H4FH44H45H4CH49H56H45H  por tomarte la molestia de responder, pero no, tampoco funcionó  :-(
No se que otra cosa puedo hacer, tal vez pasarlo a csv con alguna api o con alguna funcion, otra cosa no se me ocurre,  :huh:
Si se te ocurre alguna idea estoy desde ya muy agradecido.
Saludos y muchas gracias de nuevo por responder.


Título: Re: Problema con funcion para importar excel
Publicado por: 43H4FH44H45H4CH49H56H45H en 3 Mayo 2010, 20:42 pm
Ya lo probe y funciona:

http://www.4shared.com/file/fnLUk6GE/Excel.html

Pruebalo para saber si te sale algun error, esta en c#.


Título: Re: Problema con funcion para importar excel
Publicado por: diego_lp en 6 Mayo 2010, 23:56 pm
Gracias!
Lo voy a probar!
Cualquier cosa sigo molestando... ;D
Saludos.