1. 程式人生 > >Oracle ERP 報表:類數字格式字串資料的前置0被擷取和被科學計數法表示

Oracle ERP 報表:類數字格式字串資料的前置0被擷取和被科學計數法表示

在開發報表的時候,遇到了以下情況:

A.問題描述

在PLSQL中編寫程式輸出HTML/XML格式的報表,在提交請求之後檢視輸出的時候,如果選擇使用Excel開啟,類似數字格式的字串資料會被Excel進行智慧化處理,如擷取前面的0或者進行科學計數法表示。

如圖:


B.問題處理

很明顯,Excel將欄位識別為數字格式,並進行了智慧處理。 我們只要把輸出報表的問題欄位指定格式為字串即可解決這個問題。 (1)如果是直接在PLSQL中輸出HTML格式的報表: 可以直接在欄位屬性中設定style屬性或者使用class屬性,例如: (1.1)<td align="left" style="vnd.ms-excel.numberformat:@"> segment1 </td>

(1.2).numberx{mso-number-format:"\@";text-decoration:none;}      <td align="left" class="numberx"> segment1 </td>
style定義:
class設定:
(2)如果是在PLSQL中輸出XML格式資料,通過RTF模板進行格式排版: 在RTF模板中,指定對應欄位的字串屬性,設定【強制 LTR】格式屬性。 在沒有XML資料來源的情況下,點選開啟欄位屬性可能會不顯示這個屬性,這時候可以通過寫程式碼控制。 語句模仿這個: <fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?SEGMENT3?></fo:bidi-override>

如圖: