Zbi*_*lud 2 excel x++ axapta excel-interop dynamics-ax-2009
我正在Microsoft Dynamics AX 2009中生成Excel文件.我想从第9行在Excel中创建一个表.即使我设置了一个范围,表格总是显示在单元格A1上.
SysExcelRange xlsRange;
SysExcelListObject listObj;
#define.ListObjectName("xlGuess")
Run Code Online (Sandbox Code Playgroud)
...
xlsRange = xlsWorkSheet.range("A9");
listObj = xlsWorkSheet.listObjects().add(xlsRange, #ListObjectName);
Run Code Online (Sandbox Code Playgroud)
我也尝试设置全范围如"A9:E13"和"A9:A13",但它也没有用.也许,它可以用COM对象来做,但我无法实现它.为什么它不起作用?
似乎AX的Excel包装器中存在一个错误.
如果我更改了一行以将实际范围传递给基础COM对象,那么它似乎可以工作; 看一下我改变的截图.
像这样的AOT工作
public static client void TestJob()
{
#define.ListObjectName("xlGuess")
SysExcelApplication xlsApp;
SysExcelWorksheet xlsWorksheet;
SysExcelRange xlsRange;
SysExcelListObject listObj;
;
xlsApp = SysExcelApplication::construct();
xlsApp.workbooks().add();
xlsWorksheet = xlsApp.activeSheet();
xlsRange = xlsWorksheet.range("A9:C12");
listObj = xlsWorkSheet.listObjects().add(xlsRange, #ListObjectName);
xlsApp.visible(true);
}
Run Code Online (Sandbox Code Playgroud)
它将打开一个这样的Excel文件: