Exportar para excel em células especificas

25/01/2010

Bom dia, Gostaria de saber como faço para exportar e/ou importar dados para celulas especificas do excel, colocando cor e linhas de grade. Motivo: tenho um form que digito informações de serviços, entretanto tenho que enviar estes dados digitados em uma planilha em excel para usuários, só que esta planilha tem uma formatação, como cores em celular, fontes em negrito e com cor. como posso fazer isso? Gostaria de ser atendido pelo Wesley Obrigado. Andre Freitas
Andre Freitas

Andre Freitas

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá amigo, pedindo para eu responder sai mais caro, rsrs.

  Bom amigo vou fazer um exemplo para você e logo lhe mandarei peço que aguarde um pouco, ok ?

Um abraço

Wesley Y
GOSTEI 0
Andre Freitas

Andre Freitas

25/01/2010

Ogrigado meu amigo
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá meu amigo, veja abaixo uma função que exporta os dados para excel apartir de um DataSet.


procedure TForm2.GerarXLS(DSPadrao: TDataSet); Var Lin, Col : Integer; xExcel : Variant; Conteudo : String; begin Try if DSPadrao.RecordCount < 1 then begin Application.MessageBox('Nenhum registro a ser exportado','Atenção',MB_OK Exit; end; Try xExcel:= CreateoleObject('Excel.Application'); xExcel.WorkBooks.add(1); xExcel.caption := 'Titulo da Planilha '; xExcel.visible := False; DSPadrao.DisableControls; DSPadrao.First; for Lin := 0 to DSPadrao.RecordCount - 1 do begin for Col := 1 to DSPadrao.FieldCount do begin Conteudo := DSPadrao.Fields[Col - 1].AsString; xExcel.cells[Lin + 2,Col]:= Conteudo; end; DSPadrao.Next; Application.ProcessMessages; end; for Col := 1 to DSPadrao.FieldCount do begin Conteudo := DSPadrao.Fields[Col -1].Name; xExcel.cells[1,Col] := Conteudo;{Aqui eu formato o cabeçalho para mudar cor e colocar em negritoImplemente a sua necessidade de acordo com estes recursos, caso queria colocar em negrito a coluna C1,C2, basta trocar por xExcel.Range['C1','C2'], sacou ?
}
xExcel.Range['A1','D1'].Font.bold := true; // Negrito xExcel.Range['A1','D1'].Interior.Color := $00D6D6D6; // Cor da Célula xExcel.Range['A1','D1'].RowHeight := 25; //Altura da Célula end; xExcel.visible := True; xExcel.columns.Autofit; //Alinhar automaticamete o tamanho da coluna finally DSPadrao.EnableControls; Enabled := True; end; Except on e : Exception do raise Exception.Create('Erro ao exportar planilha ' +#13+ '================'+#13+#13+ 'Menssagem : ' + E.Message +#13+ 'Classe : ' + E.ClassName); end; end;{No evento que você deseja exportar os dados}
procedure TForm2.Button1Click(Sender: TObject); begin     GerarXLS(DSServicos.DataSet); end;


Meu amigo espero que isso lhe ajude.

Um abraço

Wesley Y

GOSTEI 0
Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá meu amigo, consegui analisar o exemplo ?

Um abraço

Wesley Y
GOSTEI 0
Andre Freitas

Andre Freitas

25/01/2010

Obrigado meu amigo,   Vou testar  
GOSTEI 0
Andre Freitas

Andre Freitas

25/01/2010

Obrigado meu amigo,   Vou testar  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá amigo,

 Fico no aguardo então.

Um abraço

Wesley Y
GOSTEI 0
Andre Freitas

Andre Freitas

25/01/2010

Olá amigo, aqui estou para informa que está ocorrendo erros na complição, criei um disco vitual para facilitar sua ajuda. segue caminho http://video.devmedia.com.br/discovirtual/216474/AcompEquipe_Exportar.rar até Andre.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá amigo,
  Irei analisar o arquivo.

Um Abraço

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

25/01/2010

Olá amigo,
  O erro do CreateOleObject, você tem que dar uses em ComObj;
  E o outro erro, é que a procedure que te passei, ela pede um componente do tipo TDataSet, mas você não pode passar, cds.dataset, mas sim somente o cds, pois ele já é um TDataSet, sacou ?

Um abraço

Wesley Y

GOSTEI 0
POSTAR