12-22-2023, 02:22 PM
I have not tried this in the latest version of IW but here is the flexcell routine that works for us.
procedure fxExportToExcel(ADataSet: TDataSet; const AFileName, ABreakFieldName: string;
AOpenFileInExcel: Boolean = True);
var
lXls: TXlsFile;
begin
//this must be called to run Flexcel in a dll
FlexCelDllInit;
lXls := TXlsFile.Create(True);
try
fxPrepareExcelData( ADataSet, lXls, ABreakFieldName );
// Save to File
lXls.Save( AFileName );
{ Open File in Excel }
if AOpenFileInExcel then
ShellExecute(0, 'open', PCHAR(AFileName), nil, nil, SW_SHOWNORMAL);
ADataSet.First;
finally
lXls.Free;
//this must be called to run Flexcel in a dll
FlexCelDllShutdown;
ADataSet.EnableControls;
end;
end;
procedure fxExportToExcel(ADataSet: TDataSet; const AFileName, ABreakFieldName: string;
AOpenFileInExcel: Boolean = True);
var
lXls: TXlsFile;
begin
//this must be called to run Flexcel in a dll
FlexCelDllInit;
lXls := TXlsFile.Create(True);
try
fxPrepareExcelData( ADataSet, lXls, ABreakFieldName );
// Save to File
lXls.Save( AFileName );
{ Open File in Excel }
if AOpenFileInExcel then
ShellExecute(0, 'open', PCHAR(AFileName), nil, nil, SW_SHOWNORMAL);
ADataSet.First;
finally
lXls.Free;
//this must be called to run Flexcel in a dll
FlexCelDllShutdown;
ADataSet.EnableControls;
end;
end;

