Recently i want to export data using TscExcelExport.
If i'm using TVirtualTable using Design Component, it works perfectly.
Code: Select all
EmpVT.First;
EmpVT.Filtered := False;
while not EmpVT.Eof do
begin
//Salary Virtual Table
VirtualTableBankTransferListExport.Append;
VirtualTableBankTransferListExport.FieldByName('EMPID').AsInteger := EmpVT.FieldByName('EMPID').AsInteger;
VirtualTableBankTransferListExport.FieldByName('EMPBANKGROUPNO').AsInteger := EmpVT.FieldByName('BANKGROUPNO').AsInteger;
VirtualTableBankTransferListExport.FieldByName('EMPTRANSBANKACCNAME').AsString := EmpVT.FieldByName('EMPBANKACCNAME').AsString;
VirtualTableBankTransferListExport.FieldByName('EMPTRANSBANKACCNO').AsString := EmpVT.FieldByName('EMPBANKACCNO').AsString;
VirtualTableBankTransferListExport.FieldByName('BANKACCNO').AsString := EmpVT.FieldByName('BANKACCNO').AsString;
VirtualTableBankTransferListExport.FieldByName('PERIOD').AsString := PaySlipPeriod;
VirtualTableBankTransferListExport.FieldByName('BANKNAME').AsString := EmpVT.FieldByName('BANKNAME').AsString;
VirtualTableBankTransferList.FieldByName('TRANSFERAMOUNT').AsInteger := 0;//Format('%s%s%.*d', [EmpVT.FieldByName('REGIONCODE').AsString,EmpVT.FieldByName('EMPCODE').AsString,4,EmpVT.FieldByName('EMPCODE').AsInteger]); //EmpVT.FieldByName('EMPCODE').AsString;
VirtualTableBankTransferListExport.FieldByName('BANKID').AsString := EmpVT.FieldByName('BANKID').AsString;
VirtualTableBankTransferListExport.FieldByName('TBANKNAME').AsString := EmpVT.FieldByName('TBANKNAME').AsString;
VirtualTableBankTransferListExport.FieldByName('BANKLOCATION').AsString := EmpVT.FieldByName('BANKLOCATION').AsString;
VirtualTableBankTransferListExport.Post;
EmpVT.Next;
end;
scExcelExport1.WorksheetName := 'Bank Transfer List';
scExcelExport1.Dataset:=VirtualTableBankTransferListExport;
scExcelExport1.ExportDataset;
scExcelExport1.Disconnect;
Code: Select all
var
VirtualTableExportAllEmployeeDetails: TVirtualTable;
begin
ModuleCoreSalaryComputation.FetchDataToMemory();
VirtualTableExportAllEmployeeDetails := TVirtualTable.Create(self);
VirtualTableExportAllEmployeeDetails.Clear;
VirtualTableExportAllEmployeeDetails.Active:= true;
VirtualTableExportAllEmployeeDetails.FieldDefs.Add('fullname', Data.DB.ftString, 0, False);
VirtualTableExportAllEmployeeDetails.Options := [voPersistentData, voStored, voSkipUnSupportedFieldTypes];
// VirtualTableExportAllEmployeeDetails.DisableControls;
VirtualTableExportAllEmployeeDetails.Open;
VirtualTableExportAllEmployeeDetails.Append;
VirtualTableExportAllEmployeeDetails.FieldByName('fullname').AsString := 'zemmy';
VirtualTableExportAllEmployeeDetails.Post;
VirtualTableExportAllEmployeeDetails.Append;
VirtualTableExportAllEmployeeDetails.FieldByName('fullname').AsString := 'arfa';
VirtualTableExportAllEmployeeDetails.Post;
showmessage(inttostr(VirtualTableExportAllEmployeeDetails.RecordCount));
// VirtualTableExportAllEmployeeDetails.EnableControls;
scExcelExport1.WorksheetName := 'asdf';
scExcelExport1.Dataset:=VirtualTableExportAllEmployeeDetails;
scExcelExport1.ExportDataset;
scExcelExport1.Disconnect;
end;