在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文件,如下所示: