sera que ninguem aqui nesse forum sabe???????????? poxa!!!!!
gente,
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
Anonymous
Curtidas 0
Respostas
Anonymous
16/03/2003
poxa eu nao sei... :lol:
GOSTEI 0
Anonymous
16/03/2003
cara, eu vi isso no link abaixo:
http://www.clubedelphi.com.br/exemplos/TblExcel.zip
baixe e olhe...
espero ter ajudado.
qualquer coisa, mande um e-mail para davicdc@yahoo.com.br
http://www.clubedelphi.com.br/exemplos/TblExcel.zip
baixe e olhe...
espero ter ajudado.
qualquer coisa, mande um e-mail para davicdc@yahoo.com.br
GOSTEI 0
Adilsond
16/03/2003
Um link com um exemplo:
http://www.torry.net/samples/samples/db/ibsb.zip
Ibsb v.1.0 FWS 16 Kb 21.06.01
By Umit Bakar. Open source project. Contains:
Graphic Query design sample (MS Access-like)
LineDDA using Sample
Drawing something (lines, images etc.) over the MDI form´s ClientHandle
Convert the query results to CSV (comma delimited) format
Convert the query results to XLS format
Convert the query results to RTF format
Drag and Drop sample between TCheckListBoxes (Tables).
http://www.torry.net/samples/samples/db/ibsb.zip
Ibsb v.1.0 FWS 16 Kb 21.06.01
By Umit Bakar. Open source project. Contains:
Graphic Query design sample (MS Access-like)
LineDDA using Sample
Drawing something (lines, images etc.) over the MDI form´s ClientHandle
Convert the query results to CSV (comma delimited) format
Convert the query results to XLS format
Convert the query results to RTF format
Drag and Drop sample between TCheckListBoxes (Tables).
GOSTEI 0
Adilsond
16/03/2003
Outro link:
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20444539.html
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20444539.html
GOSTEI 0
Anderson Silva
16/03/2003
Cara a maneira mais facil é vc gravar seus dados num txt e separar os campos por ´;´, ai quando vc importar no excel essa tabela , ele separa por delimitadores, ou seja o ´;´
te aconselho a fazer isso caso noa te ajudem.
Exemplo
codigo;nome;telefone;fax
cada semapador desse faz com que o excel abra uma coluna pra vc
te aconselho a fazer isso caso noa te ajudem.
Exemplo
codigo;nome;telefone;fax
cada semapador desse faz com que o excel abra uma coluna pra vc
GOSTEI 0
Jeancamila
16/03/2003
Já usei isso e deu certo.
Na clausula uses, acrescente a unit QRExport
Exportando para HTML:
QuickReport.ExportToFilter(TQRHTMLDocumentFilter.Create(´c:\teste.html´));
Exportando para DOC ou TXT:
QuickReport.ExportToFilter(TQRAsciiExportFilter.Create(´c:\teste.doc´));
Exportando para XLS:
QuickReport.ExportToFilter(TQRXLSFilter.Create(´c:\teste.xls´));
Atenção : Esta dica foi testada utilizando o Delphi 4 com o QuickReport 3.05, pode ser que em outras versões do Delphi ou do QuickReport, possa vir a não funcionar
OBS: A dica não funciona em todas as versões do Quickreport
Dica tirada da 700 dicas de delphi conhecem?
Jean
Na clausula uses, acrescente a unit QRExport
Exportando para HTML:
QuickReport.ExportToFilter(TQRHTMLDocumentFilter.Create(´c:\teste.html´));
Exportando para DOC ou TXT:
QuickReport.ExportToFilter(TQRAsciiExportFilter.Create(´c:\teste.doc´));
Exportando para XLS:
QuickReport.ExportToFilter(TQRXLSFilter.Create(´c:\teste.xls´));
Atenção : Esta dica foi testada utilizando o Delphi 4 com o QuickReport 3.05, pode ser que em outras versões do Delphi ou do QuickReport, possa vir a não funcionar
OBS: A dica não funciona em todas as versões do Quickreport
Dica tirada da 700 dicas de delphi conhecem?
Jean
GOSTEI 0
Mcdir
16/03/2003
Raquel,
Olha quanta resposta!!. :D Baum nehnaum?
Todas saum boas ... mas acredito que a sugestaum do Anderson Silva eh a mais tranquila. Definindo, no código, o formato do retorno como ele disse e a abertura da planilha, tah resolvido!!
Caso tenha dificuldade na implementação disso poste aki.
:wink:
Olha quanta resposta!!. :D Baum nehnaum?
Todas saum boas ... mas acredito que a sugestaum do Anderson Silva eh a mais tranquila. Definindo, no código, o formato do retorno como ele disse e a abertura da planilha, tah resolvido!!
Caso tenha dificuldade na implementação disso poste aki.
:wink:
GOSTEI 0
Fabio Colli
16/03/2003
gente,
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
me manda seu e-mail
GOSTEI 0
Anonymous
16/03/2003
valeu pessoal,
vou testar essas dicas! essa do quick report não funciona com a versão 5 do Delphi. Eu já tinha testado!
vcs são 10!!!
brigada!
vou testar essas dicas! essa do quick report não funciona com a versão 5 do Delphi. Eu já tinha testado!
vcs são 10!!!
brigada!
GOSTEI 0
Anonymous
16/03/2003
Procure na delphi super page que lá existem componentes para exportar tabelas e cursores para formato excel
GOSTEI 0
Aroldo Zanela
16/03/2003
gente,
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
Raquel,
Desculpe em não ter respondido antes, mas eu fiz isso há muito tempo e não achava o fontes. Ele faz da forma que mencionou e em seguida aplica um autoformato (perfumaria).
Onde você ler EA, refere-se ao Componente ExcelApplication.
Se enrroscar, mp.
var RangeE: Excel2000.range; // Excel97 qdo for o caso - Não é flexivel I, Linha: Integer; Faixa: String; begin EA.Visible[0] := true; EA.Workbooks.Add(Null,0); RangeE:= EA.ActiveCell; // Montar a primeira linha com o nome das colunas da query. for i := 0 to Query1.FieldCount-1 do begin RangeE.Value:= Query1.Fields[I].DisplayName; RangeE:= RangeE.Next; end; Query1.DisableControls; Query1.First; Linha:= 2; while not Query1.Eof do begin RangeE:= EA.Range [´A´ + IntToStr(Linha), ´A´ + IntToStr(Linha)]; For I := 0 to Query1.FieldCount-1 do begin if I <= 26 then begin // A .. Z Faixa:= Chr( 64 + I ); end else begin // A .. Z [AA .. AZ] Faixa:= ´A´ + Chr( 64 + (I-25) ); end; RangeE.Value:= Query1.Fields[I].Value; RangeE:= RangeE.Next; end; Query1.Next; Inc(Linha); end; Query1.EnableControls; EA.Visible[0] := true; RangeE:= EA.Range[´A1´,Faixa + IntToStr(Linha-1) ]; //Chr(65 + (Query1.FieldCount-1)) + IntToStr(Linha-1)] RangeE.AutoFormat(8,Null,Null,Null,Null,Null,Null); Application.Terminate; end;
GOSTEI 0
Marcos
16/03/2003
Se vc usa o ADo para conetar o seu banco tenta o seguinte.
DeleteFile(´c:\Meus Documentos\Pasta1.xls´);
DmTabelas.´Nome do Banco´.Execute(´SELECT ´nome do campo´
INTO Plan1 IN ´Pasta1.xls´ ´Excel 8.0;´ ´FROM ´Nome da Tabela´ );
excel := CreateOleObject(´Excel.Application´);
excel.visible := true;
docs := excel.workbooks;
doc := docs.open(´c:\Meus Documentos\Pasta1.xls´);
end;
DeleteFile(´c:\Meus Documentos\Pasta1.xls´);
DmTabelas.´Nome do Banco´.Execute(´SELECT ´nome do campo´
INTO Plan1 IN ´Pasta1.xls´ ´Excel 8.0;´ ´FROM ´Nome da Tabela´ );
excel := CreateOleObject(´Excel.Application´);
excel.visible := true;
docs := excel.workbooks;
doc := docs.open(´c:\Meus Documentos\Pasta1.xls´);
end;
GOSTEI 0
Anonymous
16/03/2003
Raquel....
da uma olhada no codigo abaixo
uses
Excel97;
var
FRelatorio: TFRelatorio;
Excel:Variant;
Worksheet:Variant;
HeaderLine,DataLine,H,I,J,k,Done,Detail,VisibleFields:Integer;
Cell,ToCell,strI,QuebraResultado,QuebraLinha,QuebraFonte:String;
procedure TFRelatorio.MovimentoMensalSubprojeto();
begin
try
Excel:=CreateOleObject(´Excel.Application´); ///Open excel
Excel.Visible:=False;
Excel.WorkBooks.Add(-4167);
Excel.WorkBooks[1].Worksheets[1].Name:=´Lançamentos´;
Worksheet:=Excel.Workbooks[1].Worksheets[´Lançamentos´];
Worksheet.PageSetup.LeftMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.RightMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.TopMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.BottomMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.PrintHeadings := False;
Worksheet.PageSetup.PrintGridlines := False;
Worksheet.PageSetup.PrintComments := XlPrintNoComments;
Worksheet.PageSetup.CenterHorizontally := True;
Worksheet.PageSetup.CenterVertically := False;
// Orientation = xlLandscape
Worksheet.PageSetup.PaperSize := XlPaperA4;
except
MessageBox(handle,´Can´´t Open Excel´,´Error´,MB_IconError);
Exit;
end;
HeaderLine:=2;
DataLine:=3;
Done:=0;
VisibleFields:=0;
// MasterTable.First; // Put master table at the begining
Screen.Cursor := crHourglass;
// Worksheet.Range[´C1´,´C1´].Value:=ReportTitle;
{headers for master data}
WorkSheet.Cells[1,1].ColumnWidth := 10;
WorkSheet.Cells[1,2].ColumnWidth := 7;
WorkSheet.Cells[1,3].ColumnWidth := 7;
WorkSheet.Cells[1,4].ColumnWidth := 7;
WorkSheet.Cells[1,5].ColumnWidth := 50;
WorkSheet.Cells[1,6].ColumnWidth := 5;
WorkSheet.Cells[1,7].ColumnWidth := 10;
Worksheet.Range[´A1´,´G1´].Merge;
Worksheet.Range[´A1´,´A1´].Value := ´Movimento Financeiro Mensal por Subprojeto´;
WorkSheet.Range[´A1´,´G1´].Font.FontStyle:=´Bold´;
WorkSheet.Range[´A1´,´G1´].Font.Size:= 15;
WorkSheet.Range[´A1´,´A1´].HorizontalAlignment:=XlCenter;
I := I + 2;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[´A´+IntToStr(I),´D´+IntToStr(I)].Merge;
Worksheet.Range[Cell,Cell].Value := ´Mês: ´ + cbMes.Text;
Cell := ´D´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Ano: ´ + sano.Text;
I := I + 1;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Projeto: ´ + DBLookupComboBox1.Text;
I := I + 1;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Subprojeto: ´ + DBLookupComboBox2.Text;
with DmRelatorio.QryMovimentoMensalSubprojeto do
begin
while not Eof do
begin
if QuebraFonte <> DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value then
begin
QuebraFonte := DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value;
QuebraResultado := DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value;
QuebraLinha := DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value;
i := cabecalho(i);
end;
if QuebraResultado <> DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value then
begin
QuebraResultado := DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value;
i := cabecalho(i);
end;
if QuebraLinha <> DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value then
begin
QuebraLinha := DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value;
i := cabecalho(i);
end;
I := I + 1;
WorkSheet.Range[´A´+IntToStr(I),´D´+IntToStr(I)].HorizontalAlignment:=XlCenter;
WorkSheet.Range[´F´+IntToStr(I),´F´+IntToStr(I)].HorizontalAlignment:=XlCenter;
Worksheet.Range[´A´+IntToStr(I),´A´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoDataPagamento.Value;
Worksheet.Range[´B´+IntToStr(I),´B´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoSiglaDocumento.Value;
Worksheet.Range[´C´+IntToStr(I),´C´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoNumeroDocumento.Value;
Worksheet.Range[´D´+IntToStr(I),´D´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoParcelaDocumento.Value;
Worksheet.Range[´E´+IntToStr(I),´E´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoNomeCompleto.Value;
Worksheet.Range[´F´+IntToStr(I),´F´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoDebitoCredito.Value;
Worksheet.Range[´G´+IntToStr(I),´G´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoValorLocalObjetivoResultado.Value;
WorkSheet.Range[´A´+IntToStr(I),´G´+IntToStr(I)].Borders.LineStyle := XlContinuous;
next;
end;
end;
end;
function TFRelatorio.Cabecalho(pI: Integer): Integer;
begin
pI := pI + 2;
Cell := ´A´ + TRIM(IntToStr(pI));
WorkSheet.Range[Cell,Cell].Font.FontStyle:=´Bold´;
Worksheet.Range[Cell,Cell].Value := ´Fonte: ´ + DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value +
´ ´ + ´Resultado: ´ + DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value + ´.´ +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value +
´ ´ + ´Linha: ´ + DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value; ;
pI := pI + 1;
cell := ´A´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Data´;
cell := ´B´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Sigla´;
cell := ´C´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Número´;
cell := ´D´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Parcela´;
cell := ´E´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Beneficiário´;
cell := ´F´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´D/C´;
cell := ´G´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Valor R$´;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].Font.FontStyle:=´Bold´;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].HorizontalAlignment:=XlCenter;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].Borders.LineStyle := XlContinuous;
result := pI;
end;
da uma olhada no codigo abaixo
uses
Excel97;
var
FRelatorio: TFRelatorio;
Excel:Variant;
Worksheet:Variant;
HeaderLine,DataLine,H,I,J,k,Done,Detail,VisibleFields:Integer;
Cell,ToCell,strI,QuebraResultado,QuebraLinha,QuebraFonte:String;
procedure TFRelatorio.MovimentoMensalSubprojeto();
begin
try
Excel:=CreateOleObject(´Excel.Application´); ///Open excel
Excel.Visible:=False;
Excel.WorkBooks.Add(-4167);
Excel.WorkBooks[1].Worksheets[1].Name:=´Lançamentos´;
Worksheet:=Excel.Workbooks[1].Worksheets[´Lançamentos´];
Worksheet.PageSetup.LeftMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.RightMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.TopMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.BottomMargin := Excel.CentimetersToPoints(0.5);
Worksheet.PageSetup.PrintHeadings := False;
Worksheet.PageSetup.PrintGridlines := False;
Worksheet.PageSetup.PrintComments := XlPrintNoComments;
Worksheet.PageSetup.CenterHorizontally := True;
Worksheet.PageSetup.CenterVertically := False;
// Orientation = xlLandscape
Worksheet.PageSetup.PaperSize := XlPaperA4;
except
MessageBox(handle,´Can´´t Open Excel´,´Error´,MB_IconError);
Exit;
end;
HeaderLine:=2;
DataLine:=3;
Done:=0;
VisibleFields:=0;
// MasterTable.First; // Put master table at the begining
Screen.Cursor := crHourglass;
// Worksheet.Range[´C1´,´C1´].Value:=ReportTitle;
{headers for master data}
WorkSheet.Cells[1,1].ColumnWidth := 10;
WorkSheet.Cells[1,2].ColumnWidth := 7;
WorkSheet.Cells[1,3].ColumnWidth := 7;
WorkSheet.Cells[1,4].ColumnWidth := 7;
WorkSheet.Cells[1,5].ColumnWidth := 50;
WorkSheet.Cells[1,6].ColumnWidth := 5;
WorkSheet.Cells[1,7].ColumnWidth := 10;
Worksheet.Range[´A1´,´G1´].Merge;
Worksheet.Range[´A1´,´A1´].Value := ´Movimento Financeiro Mensal por Subprojeto´;
WorkSheet.Range[´A1´,´G1´].Font.FontStyle:=´Bold´;
WorkSheet.Range[´A1´,´G1´].Font.Size:= 15;
WorkSheet.Range[´A1´,´A1´].HorizontalAlignment:=XlCenter;
I := I + 2;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[´A´+IntToStr(I),´D´+IntToStr(I)].Merge;
Worksheet.Range[Cell,Cell].Value := ´Mês: ´ + cbMes.Text;
Cell := ´D´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Ano: ´ + sano.Text;
I := I + 1;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Projeto: ´ + DBLookupComboBox1.Text;
I := I + 1;
Cell := ´A´ + TRIM(IntToStr(I));
Worksheet.Range[Cell,Cell].Value := ´Subprojeto: ´ + DBLookupComboBox2.Text;
with DmRelatorio.QryMovimentoMensalSubprojeto do
begin
while not Eof do
begin
if QuebraFonte <> DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value then
begin
QuebraFonte := DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value;
QuebraResultado := DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value;
QuebraLinha := DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value;
i := cabecalho(i);
end;
if QuebraResultado <> DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value then
begin
QuebraResultado := DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value;
i := cabecalho(i);
end;
if QuebraLinha <> DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value then
begin
QuebraLinha := DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value;
i := cabecalho(i);
end;
I := I + 1;
WorkSheet.Range[´A´+IntToStr(I),´D´+IntToStr(I)].HorizontalAlignment:=XlCenter;
WorkSheet.Range[´F´+IntToStr(I),´F´+IntToStr(I)].HorizontalAlignment:=XlCenter;
Worksheet.Range[´A´+IntToStr(I),´A´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoDataPagamento.Value;
Worksheet.Range[´B´+IntToStr(I),´B´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoSiglaDocumento.Value;
Worksheet.Range[´C´+IntToStr(I),´C´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoNumeroDocumento.Value;
Worksheet.Range[´D´+IntToStr(I),´D´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoParcelaDocumento.Value;
Worksheet.Range[´E´+IntToStr(I),´E´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoNomeCompleto.Value;
Worksheet.Range[´F´+IntToStr(I),´F´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoDebitoCredito.Value;
Worksheet.Range[´G´+IntToStr(I),´G´+IntToStr(I)].Value := DmRelatorio.QryMovimentoMensalSubprojetoValorLocalObjetivoResultado.Value;
WorkSheet.Range[´A´+IntToStr(I),´G´+IntToStr(I)].Borders.LineStyle := XlContinuous;
next;
end;
end;
end;
function TFRelatorio.Cabecalho(pI: Integer): Integer;
begin
pI := pI + 2;
Cell := ´A´ + TRIM(IntToStr(pI));
WorkSheet.Range[Cell,Cell].Font.FontStyle:=´Bold´;
Worksheet.Range[Cell,Cell].Value := ´Fonte: ´ + DmRelatorio.QryMovimentoMensalSubprojetoSiglaFonte.Value +
´ ´ + ´Resultado: ´ + DmRelatorio.QryMovimentoMensalSubprojetoNumeroObjetivo.Value + ´.´ +
DmRelatorio.QryMovimentoMensalSubprojetoNumeroResultado.Value +
´ ´ + ´Linha: ´ + DmRelatorio.QryMovimentoMensalSubprojetoLinhaOrcamentaria.Value; ;
pI := pI + 1;
cell := ´A´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Data´;
cell := ´B´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Sigla´;
cell := ´C´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Número´;
cell := ´D´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Parcela´;
cell := ´E´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Beneficiário´;
cell := ´F´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´D/C´;
cell := ´G´ + TRIM(IntToStr(pI));
Worksheet.Range[cell,cell].Value := ´Valor R$´;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].Font.FontStyle:=´Bold´;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].HorizontalAlignment:=XlCenter;
WorkSheet.Range[´A´+IntToStr(pI),´G´+IntToStr(pI)].Borders.LineStyle := XlContinuous;
result := pI;
end;
gente,
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
:!:GOSTEI 0
Jeancamila
16/03/2003
Rachel,
desculpe não ter respondido novamente pois meu ruindows deu problema e como estudo de 7:00 as 11:00 e trabalho de 12:00 as 23:00 fiquei impossibilitado de reponder.
Porém já usei a resposta que te passei sobre o quick report para exporta no delphi 5 e funcionou.
Não entendi pq não funcionou com vc.
desculpe não ter respondido novamente pois meu ruindows deu problema e como estudo de 7:00 as 11:00 e trabalho de 12:00 as 23:00 fiquei impossibilitado de reponder.
Porém já usei a resposta que te passei sobre o quick report para exporta no delphi 5 e funcionou.
Não entendi pq não funcionou com vc.
GOSTEI 0
Marcelo
16/03/2003
gente,
por favor... se alguma alma generosa puder me ajudar eu agradeceria bastante. eu estou precisando exportar uma query para um arquivo excel. como eu faço isso????????????
olha, eu já vi um programa que faz isso... quando a query eh executada, automaticamente se abre um arquivo excel e os campos retornados pela consulta vão sendo incluidos lá. se eu vi é pq tem como fazer, só que eu não sei como......... alguem sabe??????
poxa, respondam!! pelo menos digam: poxa eu nao sei! ou entao digam outras opções...
valeu :cry:
Gente pare de sofrer....
[b:2b3032a8fa]GERA RELATORIOS NO EXCEL[/b:2b3032a8fa]
procedure TForm1.GerarExcel(Consulta:TQuery);
var
coluna, linha: integer;
excel: variant;
valor: string;
begin
try
excel:=CreateOleObject(´Excel.Application´);
excel.Workbooks.add(1);
except
Application.MessageBox (´Versão do Ms-Excel´+
´Incompatível´,´Erro´,MB_OK+MB_ICONEXCLAMATION);
end;
Consulta.First;
try
for linha:=0 to Consulta.RecordCount-1 do
begin
for coluna:=1 to Consulta.FieldCount do
begin
valor:= Consulta.Fields[coluna-1].AsString; excel.cells [linha+2,coluna]:=valor;
end;
Consulta.Next;
end;
for coluna:=1 to Consulta.FieldCount do
begin
valor:= Consulta.Fields[coluna-1].DisplayLabel;
excel.cells[1,coluna]:=valor;
end;
excel.columns.AutoFit;
excel.visible:=true;
except
Application.MessageBox (´Aconteceu um erro desconhecido durante a conversão´+
´da tabela para o Ms-Excel´,´Erro´,MB_OK+MB_ICONEXCLAMATION);
end;
end;
Valeu?
at+...
GOSTEI 0
Nogueirajr
16/03/2003
:wink:
GOSTEI 0