Fórum Exportar para excel em células especificas #14531

25/01/2010

0

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

Responder

Posts

28/01/2010

Wesley Yamazack

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
Responder

Gostei + 0

28/01/2010

Andre Freitas

Ogrigado meu amigo
Responder

Gostei + 0

29/01/2010

Wesley Yamazack

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

Responder

Gostei + 0

02/02/2010

Wesley Yamazack

Olá meu amigo, consegui analisar o exemplo ?

Um abraço

Wesley Y
Responder

Gostei + 0

08/02/2010

Andre Freitas

Obrigado meu amigo,   Vou testar  
Responder

Gostei + 0

08/02/2010

Andre Freitas

Obrigado meu amigo,   Vou testar  
Responder

Gostei + 0

08/02/2010

Wesley Yamazack

Olá amigo,

 Fico no aguardo então.

Um abraço

Wesley Y
Responder

Gostei + 0

03/03/2010

Andre Freitas

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.
Responder

Gostei + 0

03/03/2010

Wesley Yamazack

Olá amigo,
  Irei analisar o arquivo.

Um Abraço

Wesley Y
Responder

Gostei + 0

03/03/2010

Wesley Yamazack

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

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar