我用我的web应用程序的显示标记。 我能够成功地通过显示标签显示的数据导出到Excel。
问题是我也想被包含在导出Excel中的报头和数据行的样式和CSS。
例如标题行是粗体灰色背景,并且根据值的数据的行列着色。
但是,这不获取导出到Excel。
编辑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" />
我使用的是默认的显示标签的样式表进行一些小改动它。
请帮忙。
CSS样式必须直接应用于需要造型的每个元素。 因此,对于一个大胆的标题行以灰色背景,你需要下面的CSS:
th { background-color: grey-25-percent; font-weight: bold }
(或代替th
,使用thead
或thead tr
)
displaytag也适用于一些类奇数/偶数行,行排序,和其他几个人。 看到这个页面,了解更多详情。
此外,Excel只能使用56种不同的颜色,所以如果你想要的字体颜色和背景色,您必须使用一种颜色,Excel可以接受的。 看到这篇文章的全系列的Excel compatable颜色。
下面是可接受的颜色的简短列表: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,靛蓝,熏衣草,LEMON_CHIFFON,LIGHT_BLUE,LIGHT_CORNFLOWER_BLUE,LIGHT_GREEN,LIGHT_ORANGE,LIGHT_TURQUOISE,LIGHT_YELLOW,石灰,MAROON,OLIVE_GREEN,橙色,兰花,PALE_BLUE,PINK,梅,红,玫瑰,ROYAL_BLUE,SEA_GREEN,SKY_BLUE,TAN,TEAL,绿松石,紫,白, 黄色
要导出HTML表样式信息不能使用CSS的类方法。 相反,在每一个需要以某种方式被格式化的HTML标签必须添加样式参数。 例如,要设置样式表行使用
从我最近学习了什么我都明白, 显示的标签不能直接导出HTML中使用CSS样式。 你必须做的格式和样式编程
我采取的方法和我成功了。
步骤如下:
你需要创建一个类来替代默认的出口视图类的显示标记的像ExcelHssfView
或DefaultHssfExportView
您可以通过实现这样做ExportView
接口作为显示标签的文件说:
实现了org.displaytag.export.ExportView接口的任何有效类 。
但是,我实现BinaryExportView
接口,延续ExportView
所以它都是一样的。 诚然我只复制从源所有代码ExcelHssfView
和编辑仅doExport
方法。 如果你看看源,你会明白什么将你所要做的。 提示:使用HSSFCellStyle
给任何风格的excel文件
然后点你的类在.property file
。 export.excel.class=youpackage.yourExlcelView
看到的例子ExportView
: ExcelHssfView源代码