static void NAV_ValutaExcel(Args _args)
{
SysExcelApplication ExcelApplication;
SysExcelWorkBooks ExcelWorkBooks;
SysExcelWorkBook ExcelWorkBook;
SysExcelWorkSheets ExcelWorkSheets;
SysExcelWorkSheet ExcelWorkSheet;
SysExcelRange ExcelRange;
currency currency;
ExchRates eRate;
int row = 1;
;
ExcelApplication = SysExcelApplication::construct();
ExcelApplication.visible(true);
ExcelWorkBooks = ExcelApplication.workbooks();
ExcelWorkBook = ExcelWorkBooks.add();
ExcelWorkSheets = ExcelWorkBook.worksheets();
ExcelWorkSheet = ExcelWorkSheets.itemFromNum(1);
ExcelWorkSheet.cells().item(row,1).value('Dato');
ExcelWorkSheet.cells().item(row,2).value('Kurs');
row++;
while select Currency where Currency.CurrencyCode == 'EUR'
join eRate where currency.CurrencyCode == eRate.CurrencyCode
{
ExcelWorkSheet.cells().item(row,1).value(eRate.FromDate);
ExcelWorkSheet.cells().item(row,2).value(eRate.ExchRate);
row++;
}
ExcelApplication.finalize();
}------------------------------------------------------------
void init()
{
COM application;
COM excelAppl;
InteropPermission permission = new
InteropPermission(InteropKind::ComInterop);
;
permission.assert();
application = COM::getObject("Excel.application");
if (application)
{
application.quit();
}
row = 1;
ExcelApplication = SysExcelApplication::construct();
ExcelApplication.visible(false);
ExcelWorkBooks = ExcelApplication.workbooks();
ExcelWorkBook = ExcelWorkBooks.add();
ExcelWorkSheets = ExcelWorkBook.worksheets();
ExcelWorkSheet = ExcelWorkSheets.itemFromNum(1);
application = ExcelApplication.comObject();
excelAppl = application.application();
hwnd = excelAppl.hwnd();
numTabs = 1;
}
//Method to add Data Information
int addRowData(Container _columns, boolean _bold = false, int fontsize = 11)
{
int col = 1;
Com cell,font;
;
while(col <= conlen(_columns))
{
ExcelWorkSheet.cells().item(row,col).value(conpeek(_columns,col));
cell = ExcelWorkSheet.cells().item(row,col).comObject();
font = cell.font();
font.bold(_bold);
font.size(fontSize);
col++;
}
row++;
return row-1;
}
//Method to draw Chart
void drawChart(str _Range)
{
Com application;
Com chartObjects;
Com chartObject;
Com chartArea;
Com chart;
Com activeSheet = ExcelApplication.activeSheet().comObject();
Com workbooks;
Com workbook;
Com worksheets;
Com worksheet;
Com ranges;
Com range;
Com cells;
Com chartTitle;
Com WindowObject;
Com Windows;
Com shapes;
Com shape;
Com Parent;
ComVariant item = new ComVariant();
ComVariant cell1 = new ComVariant();
ComVariant cell2 = new ComVariant();
;
this.parmRange(_range);
application = ExcelApplication.comObject();
windows = application.windows();
windowObject = windows.item(1);
workbook = ExcelApplication.workbooks().item(1).comObject();
worksheets = workbook.worksheets();
worksheet = worksheets.item(1);
worksheet.name("AX CHART");
chartObjects = worksheet.chartObjects();
chartObject = chartObjects.add(1,1,4,4);
chartObject.name("AX Chart");
//chartObjects.printObject(ComVariant::createFromBoolean(true));
chart = chartObject.chart();
range = workSheet.range(rangeValue);
chart.hasTitle(1);
chartTitle = chart.chartTitle();
chartTitle.text("AX/MS EXCEL Integration");
chart.applyLayout(5);
chart.setSourceData(range,2);
chart.chartType(4);
chart.chartStyle(2);
chart.location(2,worksheet.name());//"AX CHART");
chartArea = chart.chartArea();
chartArea.left(250);
chartArea.width(500);
chartArea.top(0);
chartArea.height(400);
windowObject.zoom(100);
}
//Set Row Data and draw Chart
class.addRowData(['',"x1","x2","x3"]);
class.addRowData(["1","2","5","2"]);
class.addRowData(["2","3","4","3"]);
class.addRowData(["3","3","2","8"]);
class.addRowData(["4","5","3","2"]);
class.drawChart("A1:D5");
No comments:
Post a Comment