0% acharam este documento útil (0 voto)
33 visualizações6 páginas

Gerando Planilhas Excel Formatadas

O documento apresenta um código em Delphi para gerar um arquivo no formato Excel automatizado com informações sobre um pedido de corte de material, formatando o layout, estilos, bordas e impressão.

Enviado por

Fabiano Crespyn
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
33 visualizações6 páginas

Gerando Planilhas Excel Formatadas

O documento apresenta um código em Delphi para gerar um arquivo no formato Excel automatizado com informações sobre um pedido de corte de material, formatando o layout, estilos, bordas e impressão.

Enviado por

Fabiano Crespyn
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Trabalhando com Excel

Código

{
Exemplo de como gerar um arquivo em excel formatado e pronto para a
impressão.

Peço a todos que lerem esta dica e que tem algo a acrescentar, por
favor mande
para o email que segue abaixo.

Roberto
rcdslf@[Link]
11/09/2008
}

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses ComObj;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);


var
Excel, Sheet : Variant;
Nome : String;
begin
//nome da planílha
Nome := 'Lacre';

//cria a aplicação
Excel := CreateOleObject('[Link]');

//mostra a tabela
[Link] := true;

//adiciona pasta de trabalho


[Link];

//deleta as planilhas que sobraram


[Link][1].Sheets[2].Delete;
[Link][1].Sheets[2].Delete;

//planilha recebendo variável nome


[Link][1].WorkSheets[1].Name := Nome;

//Repassando variável
Sheet := [Link][1].WorkSheets[Nome];

(*--------------------------------------------------------------------
--------*)

//Largura das colunas


[Link]['A1'].ColumnWidth := 1;
[Link]['B1:D1'].ColumnWidth := 21.71;
[Link]['E1'].ColumnWidth := 1;

(*--------------------------------------------------------------------
--------*)

//altura das células


[Link]['A1'].RowHeight := 9;
[Link]['A2'].RowHeight := 23.25;
[Link]['A3'].RowHeight := 7.5;
[Link]['A4'].RowHeight := 20.25;
[Link]['A5'].RowHeight := 12;
[Link]['A6'].RowHeight := 20.25;
[Link]['A7'].RowHeight := 18;
[Link]['A8'].RowHeight := 18;
[Link]['A9'].RowHeight := 18;
[Link]['A10'].RowHeight := 9;

(*--------------------------------------------------------------------
--------*)

//Mesclando Células
[Link]['B2:D2'].MergeCells := true;
[Link]['B4:D4'].MergeCells := true;
[Link]['B6:D6'].MergeCells := true;

(*--------------------------------------------------------------------
--------*)

//Escrevendo nas células


[Link]['B2'] := 'Cliente: Roberto Fodão';
[Link]['B4'] := 'Material: 1,5 x 14mm';
[Link]['B6'] := 'Referência: 3665';
[Link]['B8'] := 'Para cortar tam.:';
[Link]['C8'] := 'Usar Ref.:';
[Link]['D8'] := 'Tam.:';
[Link]['B9'] := 145;
[Link]['C9'] := 4065;
[Link]['D9'] := 143;

(*--------------------------------------------------------------------
--------*)

//Formatando células escritas


{Cliente}
[Link]['B2'].[Link] := 'Arial';
[Link]['B2'].[Link] := true;
[Link]['B2'].[Link] := true;
[Link]['B2'].[Link] := 18;

{Material}
[Link]['B4'].[Link] := 'Arial';
[Link]['B4'].[Link] := true;
[Link]['B4'].[Link] := 16;

{Referência}
[Link]['B6'].[Link] := 'Arial';
[Link]['B6'].[Link] := true;
[Link]['B6'].[Link] := 16;

{Para cortar tam / Usar ref / Tam}


[Link]['B8:D8'].[Link] := 'Arial';
[Link]['B8:D8'].[Link] := true;
[Link]['B8:D8'].[Link] := 14;

{Itens}
[Link]['B9:D9'].[Link] := 'Arial';
[Link]['B9:D9'].[Link] := 14;

(*--------------------------------------------------------------------
--------*)

//Formatação Células contornos

(* ==== Espessura da linha ==== *)


{
xlHairline = $00000001 - Super-Fino
xlMedium = $FFFFEFD6 - Médio
xlThick = $00000004 - Grosso
xlThin = $00000002 - Padrão(Normal)
}

(* ==== Tipos de Contornos ==== *)


{
xlInsideHorizontal = $0000000C
xlInsideVertical = $0000000B
xlDiagonalDown = $00000005
xlDiagonalUp = $00000006
xlEdgeBottom = $00000009
xlEdgeLeft = $00000007
xlEdgeRight = $0000000A
xlEdgeTop = $00000008
}

//linha na esq. espessura padrão


[Link]['A1:A10'].[Link][$00000007].Weight := $00000002;//
externo
[Link]['B2:B9'].[Link][$00000007].Weight := $00000002
;//interno

//linha em baixo espessura padrão


[Link]['A10:E10'].[Link][$00000009].Weight := $00000002;//
externo
[Link]['B9:D9'].[Link][$00000009].Weight := $00000002
;//interno

//linha lado direito espessura padrão


[Link]['E1:E10'].[Link][$0000000A].Weight := $00000002;//
externo
[Link]['D2:D9'].[Link][$0000000A].Weight := $00000002
;//interno

//linha em cima espessura padrão


[Link]['A1:E1'].[Link][$00000008].Weight := $00000002
;//externo
[Link]['B2:D2'].[Link][$00000008].Weight := $00000002
;//interno

(*--------------------------------------------------------------------
--------*)

//Alinhamento das células

(* ==== Tipos de Alinhamentos Verticais ==== *)


{
[Link]['B2'].VerticalAlignment := 1 - Top
[Link]['B2'].VerticalAlignment := 2 - Center
[Link]['B2'].VerticalAlignment := 3 - Bottom
}

{alinhamento vertical no centro}


[Link]['B2'].VerticalAlignment := 2;
[Link]['B4'].VerticalAlignment := 2;
[Link]['B6'].VerticalAlignment := 2;
[Link]['B8'].VerticalAlignment := 2;
[Link]['C8'].VerticalAlignment := 2;
[Link]['D8'].VerticalAlignment := 2;
[Link]['B9'].VerticalAlignment := 2;
[Link]['C9'].VerticalAlignment := 2;
[Link]['D9'].VerticalAlignment := 2;

(* ==== Tipos de Alinhamentos Horizontais ==== *)


{
[Link]['B2'].HorizontalAlignment := 3 - Center
[Link]['B2'].HorizontalAlignment := 4 - Right

{alinhamento horizontal no centro}


[Link]['B2'].HorizontalAlignment := 3;
[Link]['B4'].HorizontalAlignment := 3;
[Link]['B6'].HorizontalAlignment := 3;
[Link]['B8'].HorizontalAlignment := 3;
[Link]['C8'].HorizontalAlignment := 3;
[Link]['D8'].HorizontalAlignment := 3;
[Link]['B9'].HorizontalAlignment := 3;
[Link]['C9'].HorizontalAlignment := 3;
[Link]['D9'].HorizontalAlignment := 3;

(*--------------------------------------------------------------------
--------*)

//Adicionando grade nas células

(* ==== Formatação de Tipos de linhas do contorno ===== *)


{
LineStyle := 1 - Normal
LineStyle := 2 - Tracejado
LineStyle := 3 - Pontilhado
LineStyle := 4 - Seccionada Traço
LineStyle := 5 - Duplo Seccionada
}

(* ==== Formatação da Espessura linha contorno ==== *)


{
Weight := 1 - Super Fina
Weight := 2 - Fina
Weight := 3 - Média
Weight := 4 - Grossa
}

(* ==== Formatação Cor da linha contorno ==== *)


{
ColorIndex := 1 - Preto
ColorIndex := 2 - Branco
ColorIndex := 3 - Vermelho
ColorIndex := 4 - Verde Claro
ColorIndex := 5 - Azul
ColorIndex := 6 - Amarelo
...
ColorIndex := 56 - Cinza Escuro
}

[Link]['B8:D9'].[Link] := 1;//Estilo da linha: Normal


[Link]['B8:D9'].[Link] := 2;//espessura da linha:
Fina
[Link]['B8:D9'].[Link] := 1;//Cor da linha: Preto

(*--------------------------------------------------------------------
--------*)
{
- Adicionar figura
Esta dica pode ser meio inconviniente pois ela não direciona um lugar
específico
para a colocação da imagem, mas nm por isso deixa de ser importante.

[Link]('lugar_onde_se_encontra_a_figura');

- Adicionar um Replace
Serve como um find / replace, ele procura e substiui a string por
outra q deseja.
Ele subtitiu apenas o conteúdo q vc deseja o restante da string não
muda.

[Link]['A1:Z70'].Replace('Tam.:', 'Num.:');
|| ||
Onde: local da pesquisa / ('Texto_Procurado', 'Subtituir_Por')
}
(*--------------------------------------------------------------------
--------*)

(* ==== A configuração da folha deve vir antes do preview da folha ===


*)

//Configuração da folha
[Link] := 10;
[Link] := 10;
[Link] := 10;
[Link] := 10;

//Marcação da página no rodapé


[Link] := '&P';

//Alinhamento centralizado do conteúdo na horizontal


[Link] := true;

//Alinhamento centralizado do conteúdo na horizontal


[Link] := true;

{Para salvar existem duas opções:


- Se for salvar a aplicação totalmente criada:
[Link]('destino_onde_quer_salvar');

- Se for salvar uma aplicação que foi criada a partir de um arquivo


aberto
[Link];}

//Print Preview
[Link]['A1:E10'].PrintPreview;

{Para imprimir na impressora padrão do seu computador


[Link];
}

(*--------------------------------------------------------------------
--------*)

Sheet := Unassigned; //liberar da memória

end;

end.

Você também pode gostar