Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #13  
Antiguo 02-02-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Retomando el tema

Hola compañeros

Estoy con el tema de abrir una hoja de excel con ADO, seguí las indicaciones que se mostraron en este tema y funciona perfectamente.

Resulta que este procedimiento se hace en tiempo de diseño y funciona muy bien, ahora el punto es que necesito hacerlo en tiempo de ejecución y abrir cualquier archivo excel y cualquier hoja dentro del archivo.

En este momento he logrado abrir un archivo excel cualquiera desde un OpenDialog, pero según las instrucciones proporcionadas en tiempo de diseño al momento que se indica al ADODataSet.CommandType = cmdTableDirect, automaticamente muestra en la propiedad CommandText las hojas que están dentro de ese archivo.

Mi pregunta es la siguiente:

Como puedo obtener en un ComboBox o un ListBox los nombres de las hojas que están dentro del archivo.

Aqui pego lo que ya he hecho, aún me faltan algunas validaciones que ya agregaré posteriormente.

Código Delphi [-]
 
unit ULeeSalientes;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids, ExtCtrls;
 
type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    OpenDialog1: TOpenDialog;
    Panel1: TPanel;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ADOConnection1BeforeConnect(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  Archivo: String;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.ADOConnection1BeforeConnect(Sender: TObject);
begin
   ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
                                      'Data Source='+Archivo+
                                      ';Extended Properties=Excel 8.0;'+
                                      'Persist Security Info=False';
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  If OpenDialog1.Execute then begin
     Archivo := OpenDialog1.FileName;
     ADODataSet1.CommandText  := 'Dic 06$'; //Aqui estoy asignando el nombre de la hoja
     ADOConnection1.Connected := True;
     AdoDataSet1.Open;
  end;
end;
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  AdoDataSet1.Close;
  ADOConnection1.Connected := False;
end;
 
end.

Gracias anticipadas.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:19:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi