- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Skapa och formatera ett Excel kalkylblad Kategori: Objekt/ActiveX
Inlagt: 2004-02-22
Läst: 1136
Inlagt av: Staffan Berg
Beskrivning
Med detta exempel kan du skapa och formatera ett Excel kalkylblad. Du fyller kalkylbladet med innehållet i en DBGrid vida en SQL Query. Kodexemplet är testat med Delphi 3 och Excel 97. 
Kod
procedure TfrmBlank.btnExcelClick(Sender: TObject); 
var 
  XL, XArr: Variant; 
  i : Integer; 
  j : Integer; 
begin 
   //note the ComObj (example OleAuto not correct) in the uses 
   // Create an array of query element size 
   XArr:=VarArrayCreate([1,EmailQuery.FieldCount],varVariant); 
   XL:=CreateOLEObject('Excel.Application');   // Ole object creation 
   XL.WorkBooks.add; 
   XL.visible:=true; 
    
   j := 1; 
   EmailQuery.First; 
   while not EmailQuery.Eof do begin 
      i:=1; 
      while i<=EmailQuery.FieldCount do begin 
         XArr[i] := EmailQuery.Fields[i-1].Value; 
         i := i+1; 
      end; 
      XL.Range['A'+IntToStr(j), 
      CHR(64+EmailQuery.FieldCount)+IntToStr(j)].Value := XArr; 
      EmailQuery.Next; 
      j := j + 1; 
   end; 
   XL.Range['A1',CHR(64+EmailQuery.FieldCount)+IntToStr(j)].select; 
   // XL.cells.select;           // Select everything 
   XL.Selection.Font.Name:='Garamond'; 
   XL.Selection.Font.Size:=10; 
   XL.selection.Columns.AutoFit; 
   XL.Range['A1','A1'].select; 
end; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -