2023年11月27日发(作者:)

OracleEBSR12XML数据表格的Excel脚本报表

1在表出现 XML 错误

2原因: ⾮法的标记

3⽂件: C:Documents and SettingshandDesktop新建⽂本⽂档.xml 4: Row

5标志: Row

6

7在表出现 XML 错误

8原因: ⾮法的标记

9⽂件: C:Documents and SettingshandDesktop新建⽂本⽂档.xml 10: Row

11标志: Row

12

13在表出现 XML 错误

14原因: ⾮法的标记

15⽂件: C:Documents and SettingshandDesktop新建⽂本⽂档.xml 16: Row

17标志: Row

18

19。。。。。。

20(此处省略N⾏)

21。。。。。。

22

23此元素堆栈或此元素下⾯的堆栈发⽣错误:

24

25

26

27

很不友好,是吧。⼀⽅⾯,他能告诉我们⼀些信息,但是⽆法定位,这点确实很头疼的,另⼀⽅⾯,实际开发的时候很有可能

遇到指⿅为马的问题,例如⽇志告诉我们"ss:Index" 的值为"10"错误,但是会发现脚本根本没有"ss:Index=10"的脚本。

所以,尽量仔细是惟⼀的解决吧。

2. 的属性ss:Index

Cell标签的属性ss:Index是⽤来确定Cell的列的位置,即列号。输出的时候,从左往右输出,⼀般不需要指定这个属性,因为

每个Cell 默认增长1, 但是有特殊情况,⽽且这种情况是⼗分常见的,如下图:

对应的脚本应该是(省略列G之前的脚本)

105⾏:

17

28

39

4

ss:MergeDown="3">10

511

612

106⾏:

17

28

39

411

512

其中,105⾏,106⾏,107⾏,除了列"K" ,也就是ss:Index="11" Cell ⼀定需要 ss:Index 之外,其他的Cell都不需要

ss:Index

也就是说 ss:Index 有跳跃的时候, ss:Index 属性时必填的

3. 属性ss:Formula

cell标签可设置单元格的公式,这是⼀个⾮常强⼤的功能,运⽤Excel强⼤的数据计算能⼒,是Excel 数据脚本的XML报表的关

键。

在设置Cell的公式属性时,必须理解这⾥公式的单元格定位,公式中的含义如下:

R :⾏

C :列

- :向左

+ :向右

举个例⼦就应该知道其中的含义了,例如:

ss:Forluma = "= R[+1]C[+2] + R[+1]C[+3]"

当前单元格为A1,则A1的公式就是B3 + B4

ss:Forluma = "= R[-1]C[-2] + R[-1]C[-3]"

当前单元格为A1,(不正确),单元格定位错误,(超出范围)

ss:Forluma = "= RC[+2] + RC[+3]"

当前单元格为A1,则A1的公式就是C1 + D1

ss:Forluma = "= R[+2]C + R[+3]"C

当前单元格为A1,则A1的公式就是A3 + D3

注意数字是偏移量,正负代表⽅向就OK