Nieuws
Foto's
Artikelen
Componenten
Applicaties
Kleinkunst

TscExcelExport

Versie 4.3 (september 2017) - freeware voor niet-commercieel gebruik - Delphi VCL

Het TscExcelExport component is een zeer uitgebreid, krachtig maar eenvoudig te gebruiken component om alle records van een dataset vanuit Borland/Codegear/Embarcadero Delphi te exporteren naar Microsoft Excel. Bovendien zijn er vele mogelijkheden voorzien voor het wijzigen van de layout, het gebruik van conditionele formatering, het toevoegen van totalen, het maken van groepen, het aanzetten van filters, ... Het component werkt in Delphi 5, 6, 7, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin en 10.2 Tokyo (32 en 64 bit) en het ondersteunt alle Excel versies van 97 tot 2016.

TscExcelExport component (Delphi VCL)

TscExcelExport component (Delphi VCL)

Mogelijkheden

Properties

Allerlei instellingen om de layout van het werkblad te bepalen, zijn voorzien.
  • Naam van werkblad en bestand
  • Teksten voor hoofding en voettekst
  • Begin rij en kolom van hoofding, voettekst, titels en data
  • Kolombreedte instellen of automatisch laten aanpassen
  • Lettertype van hoofding, voettekst, titels, samenvatting en data (Alignment, WrapText, Orientation, CellMerge)
  • Achtergrondkleur en rand van hoofding, voettekst, titels, samenvatting en data
  • Berekeningen (SOM, MIN, MAX, AVG, COUNT) voor numerieke of opgegeven velden
  • AutoFilter voor titels
  • Groeperen met opgegeven velden
  • Nieuwe werkbladen aanmaken of bestaande bestanden aanvullen
  • Toegang tot de Excel objecten (ExcelApplication, ExcelWorkbook, ExcelWorksheet, ...)
  • ...

Events

  • Voor het bepalen van achtergrondkleur en font kleur, naam en grootte per cel
  • Voor het exporteren van data zonder gebruik te maken van een TDataset

Methods

  • Exporteren naar Excel
  • Opslaan van werkblad als XLSX (Open XML), XLS, HTML, XML of CSV
  • Afdrukvoorbeeld tonen

Component editor

  • Via de component editor kan je op een eenvoudige manier verschillende instellingen wijzigen

Live templates

  • Live templates voor alle Delphi versies sinds 2006 (ExcelExportUse en ExcelExportCreate)

 

Info

Type library / COM

  • In dit ExcelExport component wordt er gebruik gemaakt van de Server componenten van de Borland/CodeGear/Embarcadero COM type libraries.
  • Door middel van compiler directives (in unit scExcelExportConfig.inc) kan je de default type library overschrijven. De mogelijkheden zijn Excel97, Excel2000, ExcelXP en Excel2010.
  • Microsoft Excel dient dan ook op de PC geïnstalleerd te zijn om met dit component te werken.

Delphi / Office

  • Dit VCL component is getest in
    • Borland Delphi 5 (SP1)
    • Borland Delphi 6
    • Borland Delphi 7
    • Borland Delphi (BDS) 2005
    • Borland Delphi (BDS) 2006
    • CodeGear Turbo Delphi
    • CodeGear Delphi 2007
    • CodeGear Delphi 2009
    • Embarcadero Delphi 2010
    • Embarcadero Delphi XE
    • Embarcadero Delphi XE2
    • Embarcadero Delphi XE3
    • Embarcadero Delphi XE4
    • Embarcadero Delphi XE5
    • Embarcadero Delphi XE6
    • Embarcadero Delphi XE7
    • Embarcadero Delphi XE8
    • Embarcadero Delphi 10 Seattle
    • Embarcadero Delphi 10.1 Berlin
    • Embarcadero Delphi 10.2 Tokyo
  • Dit ExcelExport component werkt met
    • Microsoft Excel 97
    • Microsoft Excel 2000
    • Microsoft Excel XP
    • Microsoft Excel 2003
    • Microsoft Excel 2007
    • Microsoft Excel 2010
    • Microsoft Excel 2013
    • Microsoft Excel 2016
  • Het is getest in Nederlandstalige en enkele Engelstalige Office versies.
  • Het geeft ook toegang tot de Excel Application, Workbook en Worksheet objecten waarmee u alle VBA properties en methods kan aanspreken.

Demo applicatie

  • Een volledige demo applicatie met 18 voorbeelden wordt meegeleverd om alle mogelijkheden van het component te bekijken en te testen.

Installatie

  • Open de run-time package ExcelExportPack5.dpk (voor Delphi5), ExcelExportPack6.dpk (voor Delphi6) ExcelExportPack7.dpk (voor Delphi7), ExcelExportPack9.dpk (voor Delphi 2005), ExcelExportPack10.dpk (voor Delphi 2006 en Turbo Delphi), ExcelExportPack11.dpk (voor Delphi 2007), ExcelExportPack12.dpk (voor Delphi 2009), ExcelExportPack14.dpk (voor Delphi 2010), ExcelExportPackXE.dpk (voor Delphi XE) ExcelExportPackXE2.dpk (voor Delphi XE2), ..., ExcelExportPackXE10.dpk (voor Delphi XE10), ExcelExportPackD10.dpk (voor Delphi 10 Seattle), ExcelExportPackD101.dpk (voor Delphi 10.1 Berlin) and ExcelExportPackD102.dpk (voor Delphi 10.2 Tokyo). "Compile" deze package.
  • Open de design-time package dclExcelExportPackx.dpk en "Compile" en "Install" het. Het TscExcelExport component verschijnt op het tabblad "SC" van het componenten palet.
  • Als je het component wil toevoegen aan een reeds bestaande package, zorg er dan voor dat het overeenkomstige DCP bestand dclOffice, dat gevonden kan worden in de Delphi/Lib map, wordt toegevoegd als "required". Als je een nieuw design-time package wil aanmaken, moet je het DCP bestand designide.dcp (dsnide50.dcp in Delphi5) toevoegen.

Technische info

  • Zie de hoofding van de unit unit scExcelExport.pas voor meer informatie over alle properties, methods, events, ...

 

Schermvoorbeelden

 

Delphi voorbeelden

Voorbeeld 1 : meest eenvoudige manier om dataset naar Excel te exporteren

scExcelExport1.Dataset:=Table1;
scExcelExport1.ExportDataset;
scExcelExport1.Disconnect;

Voorbeeld 2 : layout properties gebruiken, totalen toevoegen en opslaan

scExcelExport1.WorksheetName := 'MijnDataset';
scExcelExport1.Dataset:=Table1;
scExcelExport1.StyleColumnWidth:=cwOwnerWidth;
scExcelExport1.ColumnWidth := 20;
scExcelExport1.HeaderText.Text := 'Hoofding';
scExcelExport1.MergeHeaderCells := True;
scExcelExport1.BeginRowHeader := 2;

scExcelExport1.FontTitles := LabelTitle.Font;
scExcelExport1.FontTitles.Orientation := 45;
scExcelExport1.BorderTitles.BackColor := clYellow;
scExcelExport1.BorderTitles.BorderColor := clRed;
scExcelExport1.BorderTitles.LineStyle := blLine;
scExcelExport1.BeginRowTitles := 5;
scExcelExport1.FontData := LabelData.Font;

scExcelExport1.SummarySelection := ssValues;
scExcelExport1.SummaryCalculation := scMAX;

scExcelExport1.AutoFilter := True;
scExcelExport1.ExcelVisible:=False;
try
  scExcelExport1.ExportDataset;
  scExcelExport1.ExcelWorkSheet.Range['A1','A10'].Value := 'Delphi';
  // Excel 2007 Open XML format (bestands extensie XLSX)
  if scExcelExport1.ExcelVersion = 12 then
    scExcelExport1.SaveAs(ExtractFilePath(Application.ExeName)+'ExcelExport2007.xlsx',ffXLSX);
  // Excel 2000/XP/2003 format (bestands extensie XLS)
  scExcelExport1.SaveAs(ExtractFilePath(Application.ExeName)+'ExcelExport2003.xls',ffXLS);  
finally
  scExcelExport1.Disconnect;
end;

Voorbeeld 3 : data groeperen

try
  scExcelExport1.Dataset:=QuerySortShipVia;

  scExcelExport1.SummarySelection := ssValues;
  scExcelExport1.SummaryCalculation := scAVG;
  scExcelExport1.SummaryDisplayFormat := '###0.000';

  scExcelExport1.StyleColumnWidth := cwEnhAutoFit;

  scExcelExport1.GroupFields.Clear;
  scExcelExport1.GroupFields.Add('ShipVia');
  scExcelExport1.GroupFields.Add('Terms');

  scExcelExport1.ExportDataset;
finally
  scExcelExport1.Disconnect;
end;

Voorbeeld 4 : meerdere datasets exporteren

scExcelExport1.ExcelVisible:=True;
try
  scExcelExport1.Dataset:=Table1;
  scExcelExport1.WorksheetName:='1';
  scExcelExport1.ConnectTo := ctNewExcel;
  scExcelExport1.ExportDataset;
  scExcelExport1.Disconnect;
  scExcelExport1.Dataset:=Table2;
  scExcelExport1.WorksheetName:='2';
  scExcelExport1.ConnectTo := ctNewWorkbook;
  scExcelExport1.ExportDataset;
  scExcelExport1.Disconnect;
  scExcelExport1.Dataset:=Table3;
  scExcelExport1.WorksheetName:='3';
  scExcelExport1.ConnectTo := ctNewWorksheet;
  scExcelExport1.ExportDataset;
finally
  scExcelExport1.Disconnect;
end;

Voorbeeld 5 : achtergrondkleur en font stijl wijzigen in OnGetCellStyle event

procedure scExcelExportGetCellStyleEvent(Sender: TObject; Field: TField; 
  var ColorBackground : TColor; FontCell : TxlFont);
begin
  if Field.FieldName = 'CustNo' then
  begin
    if Field.Value > 2000 then
    begin
      FontCell.Color := clRed;
      FontCell.Name := 'Times New Roman';
      FontCell.Size := 14;
    end;
    if Field.Value > 3000 then
    begin
      FontCell.Color := clGreen;
      FontCell.Style := [fsBold];
    end;
  end;

  if Field.FieldName = 'EmpNo' then
  begin
    if Field.Dataset.FieldByName('CustNo').Value > 2000 then
      ColorBackground := clRed;
  end;

  if Field.DataSet.FieldByName('EmpNo').Value > 100 then
    ColorBackground := clYellow;
end;

Voorbeeld 6 : toegang tot de properties van het Excel Worksheet object

try
  scExcelExport1.Dataset:=Table1;
  scExcelExport1.Connect;
  scExcelExport1.ExcelWorkSheet.Range['A2','C8'].Borders.Color := clRed;

  scExcelExport1.ExportDataset;

  scExcelExport1.ExcelWorkSheet.Range['B2','B2'].Select;  scExcelExport1.ExcelApplication.ActiveWindow.FreezePanes := True;

  scExcelExport1.ExcelWorkSheet.Range['B5','E7'].Cells.Clear;

  scExcelExport1.ExcelWorkSheet.Range[Format('A%d',[scExcelExport1.EndRowData+3]),
    Format('A%d',[scExcelExport1.EndRowData+3])].Value := 'Extra informatie toevoegen aan Excel werkblad';

  scExcelExport1.ExcelWorkSheet.Range['M1','M1'].Value := 10;
  scExcelExport1.ExcelWorkSheet.Range['M2','M2'].Value := 5;
  scExcelExport1.ExcelWorkSheet.Range['M3','M3'].Value := '=M1+M2';
  scExcelExport1.ExcelWorkSheet.Range['M3','M3'].Font.Color := clRed;
  scExcelExport1.ExcelWorkSheet.Range['M1','M20'].EntireColumn.Autofit;

  scExcelExport1.ExcelWorkSheet.Range['B2','B2'].AddComment('Dit is commentaar voor een cel');
finally
  scExcelExport1.Disconnect;
end;

Copyrights en verspreiding

  • Alle copyrights van dit Delphi component zijn eigendom van de auteur Stefan Cruysberghs.
  • Dit component is freeware voor niet-commercieel gebruik en mag vrij verspreid worden.
  • Alle sources (met gedetailleerde commentaar) worden meegeleverd.
  • De auteur geeft geen garantie op het foutloos werken van dit component.
  • Geregistreerde gebruikers kunnen er wel op rekenen dat bugs zo spoedig mogelijk opgelost worden.

Registratie

  • Als u dit component interessant vindt of het in een commerciële omgeving gebruikt, dient u dit component te registreren.
  • Hiermee moedigt u de auteur aan om dit ExcelExport component verder te ontwikkelen en te verbeteren.
  • Na registratie heeft u geen registratiesleutel nodig! Met de versie die u op deze pagina kan downloaden, beschikt u over alle functionaliteit.

Voordelen van registratie

  • Volledige source code voor Delphi versie 5 tot XE8 en 10.2 Tokyo.
  • Ongelimiteerde licentie voor uitrollen (deployment)
  • Basis ondersteuning kan gevraagd worden via e-mail.

Licentie één ontwikkelaar (Single developer license)

  • Mijn webshop werkt met de MyCommerce eSellerate service voor het afhandelen van de betalingen. U kan er eenvoudig en veilig online betalen met een kredietkaart. Betalen via PayPal kan ook, maar dan dient u een email te sturen.
  • Prijs: $35 (ongeveer 32 euro)
  • Koop licentie via de webshop

    Of stuur een als je wil betalen met PayPal of een factuur nodig hebt

Licentie voor volledig bedrijf (site license, onbeperkt aantal developers, voor onbepaalde tijd geldig)

  • Prijs: $130 (ongeveer 120 euro)
  • Koop licentie via de webshop

    Of stuur een als je wil betalen met PayPal of een factuur nodig hebt


Downloaden

TscExcelExport component
  • Inhoud: TscExcelExport component met sources en voorbeeld programma (voor Delphi 5, 6, 7, 2005, 2006, Turbo Delphi, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin en 10.2 Tokyo)
  • Versie: 4.3 (2017-09-18)
  • Grootte: 6.3 Mb
  • Auteur: Stefan Cruysberghs
Nu downloaden