2012-05-12 62 views
2

我在我的web應用程序中使用顯示標籤。我成功地將顯示標籤顯示的數據導出爲ex​​cel。將顯示標籤導出爲Excel格式的HTML頁面

問題是我也希望標題和數據行樣式和css被包含在導出的excel中。

例如標題行是粗體,背景爲灰色,數據行中的列根據值進行着色。

但是這不會被導出爲ex​​cel。

編輯1: -

下面是我的JSP顯示標籤代碼。該列表正確顯示,並正確應用於標題和數據行的所有CSS。

我也可以將數據導出到excel中。

<display:table name="userList" pagesize="20" class="listingTable" keepStatus="true" 
cellpadding="0px" cellspacing="0px" id="user" export='true' requestURI=""> 
<display:setProperty name="export.decorated" value="true" /> 
<display:setProperty name="export.excel.filename" value="User List.xls" /> 
<display:column titleKey="user.firstname" property="firstname"></display:column> 
<display:column titleKey="user.lastname" property="lastname"></display:column> 
<display:column titleKey="user.email" property="email"></display:column> 
<display:setProperty name="paging.banner.item_name" value="User" /> 
<display:setProperty name="paging.banner.items_name" value="Users" /> 

我使用的是默認的顯示標籤的樣式表進行一些小改動它。

請幫忙。

+0

這將幫助,如果你提供你所到目前爲止已經試過和一段代碼,說明你目前的問題。 – Boud

+0

[此源](http://goaheaddebu.blogspot.in/2011/08/export-gridview-data-to-excel-in-xls.html#.T7HIQbMwyJQ)可能會幫助你... –

回答

2

CSS樣式必須直接應用於每個需要樣式的元素。因此,對於一個大膽的標題行以灰色背景,則需要以下CSS:

th { background-color: grey-25-percent; font-weight: bold }

(或代替th,使用theadthead tr

displaytag也適用於一些類奇/偶行,排序行和其他幾個。 See this page瞭解更多詳情。此外,Excel只能使用56種不同的顏色,所以如果您想要字體顏色或背景顏色,則必須使用Excel可以接受的顏色。 See this article適合各種Excel兼容顏色。

下面是可接受的顏色的簡短列表:AQUA,黑色,藍色,BLUE_GREY,BRIGHT_GREEN,BROWN,CORAL,CORNFLOWER_BLUE,DARK_BLUE,DARK_GREEN,DARK_RED,DARK_TEAL,DARK_YELLOW,金色,綠色,GREY_25_PERCENT,GREY_40_PERCENT,GREY_50_PERCENT,GREY_80_PERCENT ,INDIGO,LAVENDER,LEMON_CHIFFON,LIGHT_BLUE,LIGHT_CORNFLOWER_BLUE,LIGHT_GREEN,LIGHT_ORANGE,LIGHT_TURQUOISE,LIGHT_YELLOW,LIME,MAROON,OLIVE_GREEN,ORANGE,ORCHID,PALE_BLUE,PINK,PLUM,RED,ROSE,ROYAL_BLUE,SEA_GREEN,SKY_BLUE,TAN,TEAL,TURQUOISE ,VIOLET,WHITE,YELLOW

+0

我可以提供更多一步一步的細節,你是否也會發布你的代碼。 – eterps

+0

感謝您的回答。我用顯示標籤代碼更新了我的問題。 – ashishjmeshram

+0

你在哪裏定義'listingTable'類,你的'Displaytag.properties'看起來像什麼?另外,請看這篇文章以供參考:http://www.devx.com/webdev/10MinuteSolution/31020/1954 – eterps

1

要導出帶有樣式信息的HTML表格,不能使用CSS的Class方法。相反,在每個需要以某種方式格式化的HTML標籤中,您都添加了Style參數。例如爲表格行設置樣式使用

0

從我最近的學習我明白顯示標記不能直接導出HTML中使用的CSS樣式。您必須以編程方式完成格式和樣式

我採取了一種方法,我成功了。

的程序是:
你需要創建一個類來替代默認的出口視圖類的顯示標記的像ExcelHssfViewDefaultHssfExportView

您可以通過實現ExportView接口做到這一點作爲顯示標籤的文件說:
任何有效的類,實現org.displaytag.export.ExportView接口

但我實施了BinaryExportView接口,因爲它延伸ExportView所以它們都是一樣的。 真正地說,我只是複製了ExcelHssfView源代碼中的所有代碼,並僅編輯了doExport方法。 如果你看看源代碼,你會明白你將要做什麼。 提示:使用HSSFCellStyle給任何風格的Excel文件

,然後指向你的類在.property fileexport.excel.class=youpackage.yourExlcelView

見例如ExportView的:ExcelHssfView Source Code

相關問題