• Sábado 20 de Abril de 2024, 08:10

Autor Tema:  Datagridview Y Tabla Excel...  (Leído 5809 veces)

ymabreu

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Datagridview Y Tabla Excel...
« en: Viernes 25 de Enero de 2008, 19:40 »
0
Hola.
Estuve buscando como "cargar" una tabla Excel en un dataGridView para c++.net y no lo encontré. Encontré algunos ejemplos en VB.net y C#.net y guiándome por eso pude hacerlo para C++.net pero se demora aproximadamente de 5 a 6 segundos en mostrar los datos. Quisiera saber si alguien sabe cómo(en caso de que sea posible) hacerlo mas rápido. Otra cosa que quisiera saber es si es posible cargar todo el libro en el dataSet y seleccionar la hoja deseada a la hora de llenar el DataGridView. Si lo saben hacer en  VB.net ó C#.net también me sirve porque puede darme la noción de como hacerlo.

Aquí el código:
using namespace System::Data::OleDb;

#pragma endregion
   private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 //Declaraciones. Donde aparece bd.XLS puede ponerse una direccion en el disco
  // duro. Ejem]
String^ myConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bd.XLS; Extended Properties=Excel 8.0;";

//cadena de conexión
OleDbConnection^ myConnection= gcnew OleDbConnection(myConnectionString);

// Select the data from Sheet1 of the workbook. Cambiando Hoja1 puede accederse
//a cualquiera de las páginas del libro de Excel.

OleDbDataAdapter^ MyCommand = gcnew OleDbDataAdapter( "select * From [Hoja1$]", myConnection);

// READ from Excel DB         
MyCommand->Fill(dataSet1);       //  agrega los datos dataSet1
myConnection->Close();            // sierra la conexión
dataGridView1->DataSource = dataSet1->Tables[0];  // llena el DataGridView con                
                                                                              // la tabla seleccionada del dataSet
}


Esto fue hecho en C++.net 2005 versión Express.
" Tabla Excel to dataGridView en c++.net "
" Tabla Excel en dataGridView en c++.net "

De antemano muchas gracias.

ymabreu

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Datagridview Y Tabla Excel...
« Respuesta #1 en: Viernes 1 de Febrero de 2008, 22:33 »
0
Referente a almacenar todo el libro en un dataSet para después acceder a las hojas no he encontrado como hacerlo pero pongo acá una variante que si permite cargar las tablas(asociadas a hojas de Excel) deseadas para después referencia indistintamente a ellas. Esto puede modificarse según entiendan para logra una mejor utilidad. Considérese lo escrito anteriormente para completar esto. No soy programador así que se aceptan sugerencias.

DataTable^ dataTable1= gcnew DataTable();
DataTable^ dataTable2= gcnew DataTable();

String^ myConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bd.XLS; Extended Properties=Excel 8.0;";


//cadena de conexión
OleDbConnection^ myConnection= gcnew OleDbConnection(myConnectionString);

OleDbDataAdapter^ Pagina1 = gcnew OleDbDataAdapter( "select * From [Hoja1$]", myConnection);
OleDbDataAdapter^ Pagina2 = gcnew OleDbDataAdapter( "select * From [Hoja2$]", myConnection);

Pagina1->Fill(dataTable1);
Pagina2->Fill(dataTable2);
myConnection->Close();  

dataGridView1->DataSource = dataTable1;
dataGridView2->DataSource = dataTable2;


Esto fue hecho en C++.net 2005 versión Express.