http://www.cnblogs.com/lzsu1989/archive/2012/10/17/2728528.html
 
Oracle  EBS 提供多种报表的开发和输出形式,由于MS Excel在处理数据方面的优势明显,报表输出用Excel打开是很常见的开发项。
但是正是由于Excel的“过于智能而不智能”,导致有时输出字段会被Excel自动处理,导致数据错误。
 
例如: 系统内部字段,物料编码/订单标号 等等字段在数据库内存储的格式为 varchar, 在某些业务或者需求下,编码方式为全数字的形式,如"100230001","100230002",... 这样的字段在系统中没问题,报表输出到Excel也无问题;而有情况可能是,编号为 "000031001", "000031002","000031003",.... 这样的情况,系统中是存储了9位数的字符,而报表输出到Excel之后,Excel就会认为他是一个数字,而非字符串,从而出现字符串前的"0"被截取,变成 "31001", "31002","31003",.... 这样的错误不易被发觉,但是是一个很不友好的错误。
 
解决办法:
1. 并发程序输出 html 报表
这种类型的报表输出的是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单元格要显示公式,也是这种方法。
           
 
 
 
2. XML Publisher 报表
 
 XML publisher 报表除了用上面的两种方法以外,还可以设置XML Publisher属性来解决这个问题,直接看属性截图:
 

属性设置为 “强制LTR” ,强制为数据格式,在Excel中就不会转化为数字了,对应的 XML publisher 脚本代码为:
<fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?ASSEMBLY?></fo:bidi-override>
 

ORACLE EBS xml publisher 报表输出字符字段前部"0"被EXCEL自动去掉问题的更多相关文章

  1. Oracle EBS Report 输出字符字段前部"0"被Excel自动去掉问题

    Oracle  EBS 提供多种报表的开发和输出形式,由于MS Excel在处理数据方面的优势明显,报表输出用Excel打开是很常见的开发项. 但是正是由于Excel的"过于智能而不智能&q ...

  2. EBS xml publisher中文乱码

    http://www.cnblogs.com/benio/archive/2011/11/22/2259313.html   由于本机环境问题,导致做的xml publisher报表跑不出来. 无法显 ...

  3. Oracle EBS的BIP报表中显示特殊字体

    http://oracleseeker.com/2009/08/25/font_mapping_setup_for_special_character_print_in_oracle_ebs_bip/ ...

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

    2014-02-01 Created By BaoXinjian

  5. Oracle EBS R12经验谈(二)

    作者: jianping.ni    时间: 2009-2-13 12:52     标题: Oracle EBS R12经验谈(二) OAF页面:银行帐户开户人LOV值列表无值    在输入 应付超 ...

  6. Oracle EBS 12.2.6 on VirtualBox

    Back in May, Oracle announced the general availability of Oracle VM Virtual Appliance for E-Business ...

  7. Oracle EBS R12 XML数据表格的Excel脚本报表

    http://www.cnblogs.com/quanweiru/archive/2012/07/28/2612680.html 一.概述 在EBS系统中,报表是一个非常重要的客户化开发内容,也是系统 ...

  8. EBS中 EXCEL 格式报表输出的公用API

    http://blog.itpub.net/10359218/viewspace-752601/ 最近的项目上写了一个公用的API,很久以前就用EXCEL发布过报表,但从没想过写API来简化...   ...

  9. BIP_开发案例07_将原有Report Builer报表全部转为XML Publisher形式(案例)

    2014-05-31 Created By BaoXinjian

随机推荐

  1. Linux 帮助 man命令

    man 命令 使用权限 所有用户< /pre> 语法格式 man [[ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ...

  2. eclipse使用MAVEN打包可执行的jar包

    1.新建maven工程 注意勾选 随便填一下 建好之后工程目录如下 新建测试类与工具类,主类很简单 工具类也很简单,就是初始化了日志 maven依赖包也只有一个log4j的jar <depend ...

  3. 52. N-Queens II (Array; Back-Track)

    Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...

  4. JAVA序列化和反序列化 对象<=>IO流 对象<=>字节数组

    http://developer.51cto.com/art/201202/317181.htm http://blog.csdn.net/earbao/article/details/4691440 ...

  5. javascript中Date使用

    <script type="text/javascript">    //返回当前日期和时间        var newDate=new Date();        ...

  6. 生成静态页html

    代码: using System; using System.Collections; using System.Collections.Generic; using System.IO; using ...

  7. Golang之redis

    redis是个开源的高性能的key-value的内存数据库,可以把它当成远程的数据结构. 支持的value类型非常多,比如string.list(链表).set(集合). hash表等等 redis性 ...

  8. geoserver 开发2

    先上源码下载 上一章我们介绍了GeoServer源码分析的必要性(这个就见仁见智了)以及诸项准备工作,并且在最后还给出了OWS请求处理流程的伪代码. 这一章我们来看看要注册自己的服务需要做哪些工作.假 ...

  9. DNA甲基化研究概述

    DNA甲基化研究概述 生信技能树 已关注 2018.01.23 11:43 字数 993 阅读 183评论 0喜欢 1 DNA甲基化(DNA methylation)是最早被研究的重要表观遗传修饰之一 ...

  10. 关于UI设计行业的认识再到认识

    相信很多同学和我一样提及到UI行业时,尤其是连门槛都没有踏入半步时,总会一脸茫然. 我也是一样的,我刚接触UI的前半个月,文章读过好多,作品也看过好多,什么"小白入门UI的十大建议啊&quo ...