2011-03-29 64 views
0

我有SQL腳本「example.sql」:SPOOL &1 Select '<.TR>'||'<.TD align="left">'||column_name||'<./TD>'||'<.TR>' from table1; spool off..的轉儲其內容cshell腳本「getdata.csh」這是我得到的SQL腳本數據CSH腳本sqlplus $ORA_UID/$ORA_PSWD @${SQL}example.sql ${DATA}${ext}我一次從中提取數據我通過組合3個文件頭創建一個excel文件。 html <html> <.head> <.title) Title <./title> <./head> <.body> <.table > <.tr> <.th>Column Name<./th> <.tr>有查詢結果和trailer.html <./tr> <./table> <./body> <./html>的ext文件,我把這個文件保存爲.xls,並通過電子郵件發送它作爲附件..現在我的問題是Column_name有以0開頭但是當我打開excel文件時導致0的數據是走了,但我想保持,0 ..所以我可以添加以確保電子郵件附加excel文件將有領先0時,打開另一邊.. plz任何幫助將是好SQL腳本顯示在Excel中輸出文件0領先

+1

你需要更具體(查詢,你如何運行它,RDBMS類型,等等......) – Mat 2011-03-29 18:36:33

+0

有沒有其他的方式來做到這一點..這些答案都不會爲我工作 – jack 2011-03-29 19:55:42

+0

我有SQL腳本,它的輸出轉儲到cshell腳本,它生成Excel文件併發送電子郵件..從Oracle獲取數據.. SQL腳本看起來像這樣:SPOOL&1選擇'<.TR>'||' <.TD align =「left」>'|| column_name ||' <./TD>'||' '來自table1的'<.TR>';假脫機..我需要一種方法來確保在轉儲到Excel文件 – jack 2011-03-29 20:11:11

回答

0

使用oracle:

說你的屬性稱爲「數字」

select '0' || to_char(number) as number 
from table mytable 
0

使用Excel對象模型,或宏到g進入excel文件抓取列並更改格式。

你的情況:

Range("A1").Numberformat = "@" 
0

如果您正在生成的飛行Excel文件,你可以用一個撇號前面加上這些數字,即「

這導致Excel像對待數一個字符串。唯一的缺點是它可能會導致一些副作用,如果工作表有任何使用這些數字的公式。

0

我已經處理過這個問題,而且問題嚴格是Excel格式化的「特徵」。不幸的是,我沒有資源來完全測試一個答案,但這裏有兩件事你可以嘗試。

  1. 添加了一步你cshell腳本中使用= 「包圍你的$值1」,

的awk「{$ 1 = 「= \」 「$ 1 」\「」; print $ 0}'inFile> outFile

缺點是您現在告訴Excel將這些值視爲字符串。如果你對這些值做任何奇特的計算,你可能會遇到不同的問題。

  1. #2(爲什麼SO格式化總是將編號塊重新編號爲1!; - !)。由於這實際上是一個Excel格式問題,並且在我的回憶中,一旦打開並處理了文件,您將無法檢索到前導零,我似乎記得我有一個預格式化黑色工作表的技巧,將它保存爲模板,然後將該文件加載到模板中。我記得那也很棘手,所以不要指望它有效。如果上述#1無效,您可能需要諮詢Excel用戶最佳策略。

如果你去幫助他們,你可能還想告訴別人你使用的是什麼版本的Excel。

我希望這會有所幫助。

P.S.因爲你似乎是一個新用戶,如果你得到一個可以幫助你的答案,請記住將它標記爲已接受,並/或給它一個+(或 - )作爲有用的答案