static void ExchangeRateJob(Args _args)
{ SysExcelApplication xlsApplication; SysExcelWorkBooks xlsWorkBookCollection; SysExcelWorkBook xlsWorkBook; SysExcelWorkSheets xlsWorkSheetCollection; SysExcelWorkSheet xlsWorkSheet; SysExcelRange xlsRange; CustTable custTable; int row = 1; str fileName; ExchangeRate exchangeRate; ExchangeRateCurrencyPair exchangeRateCurrencyPair; date dateFrom, dateTo; ; dateFrom = mkDate(01,01,2018); // Supply the date range dateTo = mkDate(31, 01, 2018); //Filename fileName = "D:\\ExchageRatesJan.xlsx"; //Initialize Excel instance xlsApplication = SysExcelApplication::construct(); //Open Excel document //xlsApplication.visible(true); //Create Excel WorkBook and WorkSheet xlsWorkBookCollection = xlsApplication.workbooks(); xlsWorkBook = xlsWorkBookCollection.add(); xlsWorkSheetCollection = xlsWorkBook.worksheets(); xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1); //Excel columns captions xlsWorkSheet.cells().item(row,1).value("From Currency"); xlsWorkSheet.cells().item(row,2).value("To currency"); xlsWorkSheet.cells().item(row,3).value("Exchange Rate"); xlsWorkSheet.cells().item(row,4).value("Valid From"); xlsWorkSheet.cells().item(row,5).value("Valid To"); xlsWorkSheet.cells().item(row,6).value("Quotation Unit"); row++; //Fill Excel with CustTable AccountNum and Name fields (only 20 records) While select validTimeState(dateFrom, dateTo) * from exchangeRate join exchangeRateCurrencyPair order by exchangeRateCurrencyPair.FromCurrencyCode where exchangeRateCurrencyPair.RecId == exchangeRate.ExchangeRateCurrencyPair { xlsWorkSheet.cells().item(row,1).value(exchangeRateCurrencyPair.FromCurrencyCode); xlsWorkSheet.cells().item(row,2).value(exchangeRateCurrencyPair.ToCurrencyCode); xlsWorkSheet.cells().item(row,3).value(exchangeRate.ExchangeRate/100); xlsWorkSheet.cells().item(row,4).value(exchangeRate.ValidFrom); xlsWorkSheet.cells().item(row,5).value(exchangeRate.ValidTo); xlsWorkSheet.cells().item(row,6).value(exchangeRateCurrencyPair.ExchangeRateDisplayFactor); row++; } //Check whether the document already exists if(WinApi::fileExists(fileName)) WinApi::deleteFile(fileName); //Save Excel document xlsWorkbook.saveAs(fileName); //Open Excel document xlsApplication.visible(true); //Close Excel //xlsApplication.quit(); //xlsApplication.finalize(); }
Comments
Post a Comment