Veja este código enviado por um
AMIGO DA LISTA:

unit Uextotais;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, StdCtrls, Mask, ToolEdit, Db, IBCustomDataSet, IBQuery,
  Grids, DBGrids, OleServer, Excel97, RXDBCtrl;

type
  TFRMExTotais = class(TForm)
    ExcelWorksheet1: TExcelWorksheet;
    ExcelApplication1: TExcelApplication;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    SpeedButton1: TSpeedButton;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    DateEdit1: TDateEdit;
    DateEdit2: TDateEdit;
    BTNIniciar: TBitBtn;
    procedure Titulos;
    procedure SpeedButton1Click(Sender: TObject);
    procedure BTNIniciarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRMExTotais: TFRMExTotais;

implementation

uses udata, ubusfor;

{$R *.DFM}

procedure TFRMExTotais.Titulos;
begin
   ExcelWorksheet1.Range['A1','A1'].Value:='Nº do Item';
   ExcelWorksheet1.Range['B1','B1'].Value:='Quant. Pedida';
   ExcelWorksheet1.Range['C1','C1'].Value:='Custo Total';
   ExcelWorksheet1.Range['D1','D1'].Value:='Det.';
   ExcelWorksheet1.Range['E1','E1'].Value:='Nº da Conta';
   ExcelWorksheet1.Range['F1','F1'].Value:='Uni. Neg.';
   ExcelWorksheet1.Range['G1','G1'].Value:='Cta. Obj.';
   ExcelWorksheet1.Range['H1','H1'].Value:='ID Ativo';
end;

procedure TFRMExTotais.SpeedButton1Click(Sender: TObject);
begin
   Fbusfor.showmodal;
   Edit1.Text:=dmcf.qemp1EMPCOD.AsString;
end;

procedure TFRMExTotais.BTNIniciarClick(Sender: TObject);
var lcid,linha:integer;
    WkBk:_Workbook;
begin
   begin
      dmcf.IBQExTotais.Close;
      dmcf.IBQExTotais.SQL.Clear;
      dmcf.IBQExTotais.SQL.Add('select iteijd,sum(conqtd) as
quantidade,sum(convlu*conqtd) as valor, veiune,itegru,veiida as ID_ATIVO
from consumo,item,veiculo');
      dmcf.IBQExTotais.SQL.Add('where conite=itecod and conplc=veiplc and
conemp=:posto and condte>=:dtini and condte<=:dtfin');
      dmcf.IBQExTotais.SQL.Add('group by
conite,conplc,itegru,itecod,iteijd,veiida,veiune');
      dmcf.IBQExTotais.Params[0].AsString:=Edit1.Text;
      dmcf.IBQExTotais.Params[1].AsDate:=DateEdit1.Date;
      dmcf.IBQExTotais.Params[2].AsDate:=DateEdit2.Date;
      dmcf.IBQExTotais.Open;

      if dmcf.IBQExTotais.RecordCount<>0 then
      begin
         lcid := GetUserDefaultLCID;
         ExcelApplication1.Visible[lcid] := true;
         WkBk:=ExcelApplication1.Workbooks.Add(EmptyParam, lcid);
         ExcelWorksheet1.ConnectTo(WkBk.Worksheets[1] as _Worksheet);
         ExcelWorksheet1.Activate(LCID);
         ExcelApplication1.ScreenUpdating[lcid]:=true;
         ExcelWorksheet1.Name := 'Relatórios via Excel';

         Titulos;
         linha:=2;
         dmcf.IBQExTotais.First;
         while dmcf.IBQExTotais.Eof=false do
         begin

ExcelWorksheet1.Range['A'+IntToStr(linha),'A'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisITEIJD.AsString;

ExcelWorksheet1.Range['B'+IntToStr(linha),'B'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisQUANTIDADE.AsFloat;

ExcelWorksheet1.Range['C'+IntToStr(linha),'C'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisVALOR.AsFloat;

ExcelWorksheet1.Range['D'+IntToStr(linha),'D'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisID_ATIVO.AsString;

ExcelWorksheet1.Range['E'+IntToStr(linha),'E'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisVEIUNE.AsString+'.'+dmcf.IBQExTotaisITEGRU.AsString+'.'+dmcf.IBQEx
TotaisID_ATIVO.AsString;

ExcelWorksheet1.Range['F'+IntToStr(linha),'F'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisVEIUNE.AsString;

ExcelWorksheet1.Range['G'+IntToStr(linha),'G'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisITEGRU.AsString;

ExcelWorksheet1.Range['H'+IntToStr(linha),'H'+IntToStr(linha)].Value:=dmcf.I
BQExTotaisID_ATIVO.AsString;
            dmcf.IBQExTotais.Next;
            linha:=linha+1;
         end;
         Edit1.Clear;
         DateEdit1.Clear;
         DateEdit2.Clear;
      end
         else
             MessageDlg('Nenhum registro
encontrado',mtInformation,[mbok],0);
   end;
end;

end.

Boa sorte!


Claudio H.Binaghi
[EMAIL PROTECTED]
Fone: (011) 3289.3525 / 3289.0075


----- Original Message ----- 
From: "CPD Trianon" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, December 09, 2004 9:15 AM
Subject: [delphi-br] Excel e Delphi


>
> Olá pessoal, bom dia...preciso de ajuda, algum exemplo sobre como importar
> os dados de uma planilha do excel para uma tabela ou clientdataset..
>
> Tenho a planilha somente com cinco colunas, mas milhares de linhas e
preciso
> importa para uma tabela para realizar alguns cálculos, filtros,
> relatórios...
> toda e qualquer ajuda será bem-vinda.
>
> []'s
> Topolniak.
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a