转:XMLP报表导出为excel时设置文本不自动转为数字

转自:http://yedward.net/?id=337

对于这个问题,只要在RTF模版中设置下强制LTR即可,设置方法如下:

转:XMLP报表导出为excel时设置文本不自动转为数字

图1:勾选强制LTR

也可以自己输入下面的代码:

<fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?C6?></fo:bidi-override>

把上面的C6换成指定的字段。

强制LTR的作用,官方解释如下:

Force LTR (Left-to-Right) Direction:This option is only needed if you are using the template in a language that displays characters from right to left, such as Arabic or Hebrew. Use this option to force left-to-right printing for fields such as phone numbers, addresses, postal codes, or bank account numbers.

另外,对于同时还要设置格式掩码的情况,如果如上图1的类型中选择了数字,那么会发现勾选了“强制LTR”也不会生效。那么这里可以设置类型为“常规文本”,格式先不设置,然后勾选“强制LTR”(如果发现这里勾选了还没有生效,就直接在word属性设置中自己添上上面的代码),然后点击进入“word属性”,使用Oracle Format Mask的掩码格式来设置,如下图2所示:

转:XMLP报表导出为excel时设置文本不自动转为数字

图2:设置Oracle Format Mask和LTR

设置好以后,再次预览报表,如下图3所示:

转:XMLP报表导出为excel时设置文本不自动转为数字

图3:Excel预览效果

会发现,不仅3位以上的数字格式发生了变化,就连3位以下的数字也发生了变化,不管有无小数位,都统一保留两位,要的就是这效果。

更多RTF模版设置技巧,可参考Oracle官方文档《Creating RTF Templates》。

上一篇:[经验]怎么删除“通过QQ/TIM发送到”右键菜单


下一篇:Win7旗舰版-X86-X64-快速装机版