在Excel文件中设置表格的范围

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对象来做,但我无法实现它.为什么它不起作用?

DAX*_*lic 6

似乎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文件:

在此输入图像描述