2012年3月15日 星期四

【DisplayTag】匯出檔案

如果有要匯出 Excel,Xml,Pdf,RTF,CSV檔案的話,不仿可以考慮使用 DisplayTag

首先你必須先下載 displayTag相關的JAR檔案

在以下的範例環境我採用displaytag1.1.1版的

接著如果我們想針對網頁上的某份報表進行匯出的動作

可以將原本呈現報表的tabel標籤轉成如下所示:


<display:table export="true" name="show_query" pagesize="10"  >
    <display:column property="userName" title="姓名"  />
    <display:column property="email" title="連絡電話" />         
</display:table>


export="true" 告訴display:table 開啟匯出功能

pagesize="10" 則是每個table會有10筆資料

name="show_query" 資料的來源,這裡的show_query是request裡的一個屬性資料
                                                            等同於 request.getAttribute("show_query")

基本上 display:table 標籤預設會導出 Excel, CVS, XML檔

1. 如果你要額外匯出Pdf檔案的連結的話記得加上以下這行


<display:setProperty name="export.pdf" value="true" />


2. 如果連Excel,Xml,CVS 檔都沒有顯示連結,你也可以如上這樣


 <display:setProperty name="export.xls" value="true" />
 <display:setProperty name="export.xml" value="true" />


3. 如果上面方法都是過了還是不行,那你可以在 classpath下新增一個displaytag.properties
    加上如下片段的程式
   

export.types=csv excel xml pdf rtf
export.excel=true
export.csv=true
export.xml=true
export.pdf=true
export.rtf=true


4.如果想更改連結上的名子,你也可以在displaytag.properties加入以下的程式


export.csv.label=Export as CSV
export.xml.label=Export as Xml
export.rtf.label=Export as RTF
export.pdf.label=Export as PDF  


5.最後如果你想更改點擊連結後下載下來的檔案的名子,你也可以在displaytag.properties加入以下的程式


export.xml.filename=myxmlfile.xml
export.csv.filename=mycvsfile.csv
export.excel.filename= myxlsfile.xls
export.pdf.filename= mypdffile.pdf
export.rtf.filename= myrtffile.rtf  



沒有留言:

張貼留言