PREZADOS
Segue uma dica para aqueles que programa em DELPHI
{
Exemplo de como gerar um arquivo em excel formatado e pronto para a impressão.
}
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('Excel.Application');
//mostra a tabela
Excel.Visible := true;
//adiciona pasta de trabalho
Excel.WorkBooks.Add;
//deleta as planilhas que sobraram
Excel.WorkBooks[1].Sheets[2].Delete;
//planilha recebendo variável nome
Excel.WorkBooks[1].WorkSheets[1].Name := Nome;
//Repassando variável
Sheet := Excel.WorkBooks[1].WorkSheets[Nome];
(*----------------------------------------------------------------------------*)
//Largura das colunas
Sheet.Range['A1'].ColumnWidth := 1;
Sheet.Range['B1:D1'].ColumnWidth := 21.71;
(*----------------------------------------------------------------------------*)
//altura das células
Sheet.Range['A1'].RowHeight := 9;
Sheet.Range['A2'].RowHeight := 23.25;
(*----------------------------------------------------------------------------*)
//Mesclando Células
Sheet.Range['B2:D2'].MergeCells := true;
(*----------------------------------------------------------------------------*)
//Escrevendo nas células
Sheet.Range['B2'] := 'Cliente:';
Sheet.Range['B9'] := 145;
(*----------------------------------------------------------------------------*)
//Formatando células escritas
{Cliente}
Sheet.Range['B2'].Font.Name := 'Arial';
Sheet.Range['B2'].Font.Bold := true;
Sheet.Range['B2'].Font.Underline := true;
Sheet.Range['B2'].Font.Size := 18;
{Para cortar tam / Usar ref / Tam}
Sheet.Range['B8:D8'].Font.Name := 'Arial';
Sheet.Range['B8:D8'].Font.Bold := true;
Sheet.Range['B8:D8'].Font.Size := 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
Sheet.Range['A1:A10'].Borders.Item[$00000007].Weight := $00000002;//externo
Sheet.Range['B2:B9'].Borders.Item[$00000007].Weight := $00000002;//interno
//linha em baixo espessura padrão
Sheet.Range['A10:E10'].Borders.Item[$00000009].Weight := $00000002;//externo
Sheet.Range['B9:D9'].Borders.Item[$00000009].Weight := $00000002;//interno
//linha lado direito espessura padrão
Sheet.Range['E1:E10'].Borders.Item[$0000000A].Weight := $00000002;//externo
Sheet.Range['D2:D9'].Borders.Item[$0000000A].Weight := $00000002;//interno
//linha em cima espessura padrão
Sheet.Range['A1:E1'].Borders.Item[$00000008].Weight := $00000002;//externo
Sheet.Range['B2:D2'].Borders.Item[$00000008].Weight := $00000002;//interno
(*----------------------------------------------------------------------------*)
//Alinhamento das células
(* ==== Tipos de Alinhamentos Verticais ==== *)
{
Sheet.Range['B2'].VerticalAlignment := 1 - Top
Sheet.Range['B2'].VerticalAlignment := 2 - Center
Sheet.Range['B2'].VerticalAlignment := 3 - Bottom
}
{alinhamento vertical no centro}
Sheet.Range['B2'].VerticalAlignment := 2;
Sheet.Range['B4'].VerticalAlignment := 2;
Sheet.Range['B6'].VerticalAlignment := 2;
Sheet.Range['B8'].VerticalAlignment := 2;
Sheet.Range['C8'].VerticalAlignment := 2;
Sheet.Range['D8'].VerticalAlignment := 2;
Sheet.Range['B9'].VerticalAlignment := 2;
Sheet.Range['C9'].VerticalAlignment := 2;
Sheet.Range['D9'].VerticalAlignment := 2;
(* ==== Tipos de Alinhamentos Horizontais ==== *)
{
Sheet.Range['B2'].HorizontalAlignment := 3 - Center
Sheet.Range['B2'].HorizontalAlignment := 4 - Right
}
{alinhamento horizontal no centro}
Sheet.Range['B2'].HorizontalAlignment := 3;
Sheet.Range['B4'].HorizontalAlignment := 3;
Sheet.Range['B6'].HorizontalAlignment := 3;
Sheet.Range['B8'].HorizontalAlignment := 3;
Sheet.Range['C8'].HorizontalAlignment := 3;
Sheet.Range['D8'].HorizontalAlignment := 3;
Sheet.Range['B9'].HorizontalAlignment := 3;
Sheet.Range['C9'].HorizontalAlignment := 3;
Sheet.Range['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
}
Sheet.Range['B8:D9'].Borders.LineStyle := 1;//Estilo da linha: Normal
Sheet.Range['B8:D9'].Borders.Weight := 2;//espessura da linha: Fina
Sheet.Range['B8:D9'].Borders.ColorIndex := 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.
Sheet.Pictures.Insert('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.
Sheet.Range['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
Sheet.PageSetup.BottomMargin := 10;
Sheet.PageSetup.LeftMargin := 10;
Sheet.PageSetup.RightMArgin := 10;
Sheet.PageSetup.TopMargin := 10;
Sheet.PageSetup.Orientation := 2 ; // PAISAGEM
//Marcação da página no rodapé
Sheet.PageSetup.CenterFooter := '&P';
//Alinhamento centralizado do conteúdo na horizontal
Sheet.PageSetup.CenterHorizontally := true;
//Alinhamento centralizado do conteúdo na horizontal
Sheet.PageSetup.CenterVertically := true;
{Para salvar existem duas opções:
- Se for salvar a aplicação totalmente criada:
Sheet.SaveAs('destino_onde_quer_salvar');
- Se for salvar uma aplicação que foi criada a partir de um arquivo aberto
Sheet.Save;}
//Print Preview
Sheet.Range['A1:E10'].PrintPreview;
{Para imprimir na impressora padrão do seu computador
Sheet.PrintOut;
}
(*----------------------------------------------------------------------------*)
Sheet := Unassigned; //liberar da memória
end;
end.
Espero ter Ajudado. Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Postado : 12/12/2015 7:13 pm