Ir para conteúdo
Fórum Script Brasil
  • 0

Exportar Para O Excel


tux_boy

Pergunta

Estou tentado exportar alguns dados para o excel, o problema é que eu não sei como formatar o tipo de celula, seu tamanho e cor. Estou utlizando o seguinte código:

uses 
  COMobj 
... 
... 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  excel :variant; 
begin
  try 
    excel := CreateOleObject('excel.application'); 
    if not Excel.Application.Visible then 
    Excel.Application.Visible := true; 
    Excel.WorkBooks.Add; 
    Excel.Cells[1,1] := Edit1.Text; 
    Excel.Cells[1,2] := Edit2.Text; 
  except 
    showmessage('Ocorreu erro ao executar a transferência') 
  end;
end;

alguém pode me ajudar?

Muito obrigado!!!

Editado por Micheus
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

tux_boy, a dica é utilizar o arquivo de ajuda do VBA do Excel. Com ele você descobre exatamente as classes e propriedades que vai precisar utilizar para manipular qualquer coisa na planilha. ;)

Localize a pasta de instalação dos arquivos de ajuda do Microsoft Office: C:\Arquivos de programas\Microsoft Office\Office\1046

Nela você localiza algo parecido com: VBAXL9.CHM (VBA para eXceLl 9 - Office 2000, no meu caso)

Quando você abre o arquivo, ele vai para a tela "Objetos do Microsoft Excel". Nesta tela tem uma espécie de "organograma" das classes.

Observe que você utiliza o método Add da classe WorkBooks para criar uma pasta de trabalho vazia (uma WorkSheet). Então, seguindo esta lógica, no arquivo de help você estará visualizando e deverá clicar na propriedade WorkSheets, que é uma coleção (lista) de WorkSheet (o que realmente nos interessa). Veja que na descrição da propriedade há uma referência para WorkSheet - clique nela.

Agora estamos em condições de acessar as informações (propriedades e métodos) de uma WorkSheet. Acesse o link para Propriedades e selecione na lista: Propriedade Cells.

Na nova tela que aparece, você encontrará um link para Exemplos e, acessando, terá exemplo de como alterar a fonte, tamanho, cor...; Também encontra na descrição, a informação que Cells retorna um objeto Range. Explorando o help sobre Range, você vai conseguir acessar informações sobre Propriedades e Métodos desta classe que é a que lhe interessa. Veja os exemplos, que são mostrados. Em Propriedades, você encontrará as que dizem respeito ao alinamento (HorizontalAlignment, VerticalAlignment), Formula, valor (Value), borda (Borders) e Interior (cor interna = Interior.Color = cor_rgb)

Com estas informações, é só explorar as necessidades. É uma questão de sair testando. ;)

Veja se adicionar isto ao programa, funciona:

...

Excel.Cells[1,1].Interior.Color := clRed; // ** <==== esta linha

Excel.Cells[1,1] := Edit1.Text; ...

Editado por Micheus
Adicionado a linha inicial. (Eu havia esquecido dela. rsrsrs)
Link para o comentário
Compartilhar em outros sites

  • 0

Estou exportando alguns dados para o excel, porem não estou conseguindo ajustar o tamanho das colunas para que o meu texto fique todo exibido. Aproveitando a pergunta, tambem gostaria de saber como posso fazer para mesclar células.

O código que estou utilizando é:

procedure TForm1.Button1Click(Sender: TObject);

var

excel :variant;

begin

try

excel := CreateOleObject('excel.application');

if not Excel.Application.Visible then

Excel.Application.Visible := true;

Excel.WorkBooks.Add;

Excel.Cells[1,1] := Edit1.Text;

Excel.Cells[1,1].Font.Size := 14;

Excel.Cells[1,1].Font.Color := clRed;

Excel.Cells[1,1].Font.Name := 'Arial Black';

Excel.Cells[1,1].Borders.LineStyle := xlDouble;

Excel.Cells[1,1].Borders.Color := clYellow;

Excel.Cells[1,1].Interior.Color := clBlack;

Excel.Cells[1,2] := Edit2.Text;

except

showmessage('Ocorreu erro ao executar a transferência')

end;

end;

Se alguém puder me ajudar, agradeço muito!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Estou exportando alguns dados para o excel, porem não estou conseguindo ajustar o tamanho das colunas para que o meu texto fique todo exibido. Aproveitando a pergunta, tambem gostaria de saber como posso fazer para mesclar células.

Valeu cara, como sempre, ajudou muito!!!!
por este último post, parece que não ajudei nada.

Voce conseguiu achar o referido arquivo, ou um similar (depende da versão do Office)?

Se achou, como eu disse, lá você encontra estas respostas e vai testando.

Teria visto que existe o método AutoFit (tipo aquele duplo-clique que você dá no excel), que existe outro chamado MergeCells.

É questão de ir dando uma procurada e testar. São comandos pouco utilizados e possivelmente, alguém terá que fazer isto para lhe mostrar como fazer.

Se você encontra estas referências, fica fácil fazer uma busca no Google. Por ex. se você colocar na busca: "MergeCells Delphi" (sem as áspas)

vai chegar a resultados como este: link (o primeiro da lista)

se colocar: "AutoFit Delphi" (sem as áspas)

vai chegar este outro: link

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...