Pessoal, fiz um programa para exportar dados para o Excel. Preciso criar dentro do mesmo XLS várias Worksheets. Pelo programa que fiz ele cria uma a mais e não está colocando o nome delas corretamente. Alguém já teve algum problema parecido?
Segue abaixo o programa que fiz. Marcos Ferreira unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj; type TForm1 = class(TForm) Button1: TButton; procedure ExportDBGrid(toExcel: Boolean); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ExportDBGrid(toExcel: Boolean); var i: Integer; ExcelApp: Variant; begin if toExcel then begin ExcelApp := CreateOleObject('Excel.Application'); ExcelApp.Visible := false; ExcelApp.DisplayAlerts := false; ExcelApp.WorkBooks.Add; for i := 1 to 10 do begin ExcelApp.WorkBooks[1].WorkSheets.Add; ExcelApp.WorkBooks[1].WorkSheets[i].Name := IntToStr(i); end; i := i + 1; ExcelApp.WorkBooks[1].WorkSheets.Add; ExcelApp.WorkBooks[1].WorkSheets[i].Name := 'Final'; ExcelApp.Visible := true; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ExportDBGrid(True); end; end.