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

我在Microsoft Dynamics AX 2009中生成了Excel文件。我想从第9行的Excel中创build一个表格。 即使我设置了一个范围,表总是显示在单元格A1。

SysExcelRange xlsRange; SysExcelListObject listObj; #define.ListObjectName("xlGuess") 

...

 xlsRange = xlsWorkSheet.range("A9"); listObj = xlsWorkSheet.listObjects().add(xlsRange, #ListObjectName); 

在这里输入图像说明

我也尝试过设置像“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); } 

它会打开一个Excel文件,如下所示:

在这里输入图像描述