Report_客制化报表输出Excel后去0问题(案例)

2014-02-01 Created By
BaoXinjian

图片 1 一、摘要


Oracle  EBS
提供多种表格的开支和出口格局,由于MS
Excel在处理数量方面的优势明显,报表输出用Excel打开是很宽泛的支出项。

唯独幸好由于Excel的“过于智能而不智能”,导致突发性输出字段会被Excel自动处理,导致数据失实。

例如:

系统之中字段,物料编码/订单标号
等等字段在数据库内囤积的格式为 varchar,

在好几事情照旧需求下,编码形式为全数字的样式,如”100230001″,”100230002″,…

这般的字段在系统中没问题,报表输出到Excel也无问题;而有处境也许是,编号为
“000031001”, “000031002”,”000031003″,….

这般的情事,系统中是储存了9位数的字符,而报表输出到Excel之后,Excel就会以为他是一个数字,而非字符串,

从而现身字符串前的”0″被截取,变成
“31001”, “31002”,”31003″,….
那样的荒谬不易被发现,不过是一个很不自己的一无所长。

 

图片 2二、解决方案 – PLSQL输出报表


那系列型的表格输出的是html标签(或者XML标签),那种报表被截位的修补方法是在出口的时候,把那些字段放在
=” ”  内,

例如,PLSQL代码片段为:
fnd_file.put_line(fnd_file.output, '<div>000031001</div>');

变成:

fnd_file.put_line(fnd_file.output, '<div>="000031001"</div>');

或者

fnd_file.put_line(fnd_file.output, '<div>''000031001</div>');

解释:

前一种艺术,在Excel中,=
代表公式,而用双引号括起来之后就是字符串的趣味,就是说设置当前单元格为等于当前的值转换为字符串的意趣,类似于
oracle的 to_char() ;

后一种艺术,Excel中,在单元格值最前方加一个单引号表示这一个单元格为“坏公式”,就是不活动计算的意思,Excel单元格要显示公式,也是那种办法。

 

图片 3三、解决方案 – BI Publisher


属性的格式设置

图片 4

 

Thanks and Regards

转载:小L –
http://www.cnblogs.com/xiaoL/p/4059804.html

图片 5

相关文章