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