我在我的网络应用程序中使用display标签。我成功地将display tag显示的数据导出到excel。
问题是我还希望标题和数据行样式和css包含在导出的excel中。
e.g。标题行为粗体,背景为灰色,数据行中的列根据值着色。
但这并没有出口到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" />
我正在使用默认的显示标签样式表,并对其进行了一些细微的更改。
请帮忙。
答案 0 :(得分:2)
CSS样式必须直接应用于需要样式化的每个元素。因此,对于带有灰色背景的粗体标题行,您需要以下css:
th { background-color: grey-25-percent; font-weight: bold }
(或代替th
,使用thead
或thead tr
)
displaytag还将一些类应用于奇数/偶数行,已排序的行以及其他一些类。 See this page了解更多详情。
此外,Excel只能使用56种不同的颜色,因此如果您需要字体颜色或背景颜色,则必须使用Excel可以接受的颜色。 See this article可获得各种Excel兼容颜色。
以下是可接受颜色的简短列表:AQUA,BLACK,BLUE,BLUE_GREY,BRIGHT_GREEN,BROWN,CORAL,CORNFLOWER_BLUE,DARK_BLUE,DARK_GREEN,DARK_RED,DARK_TEAL,DARK_YELLOW,GOLD,GREEN,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,紫罗兰,白色,黄色
答案 1 :(得分:1)
要导出带有样式信息的HTML表,您不能使用CSS的Class方法。而是在每个需要以某种方式格式化的HTML标记中添加样式参数。例如,为表行设置样式
答案 2 :(得分:0)
从我最近的学习中我明白显示标签不能直接导出HTML中使用的css样式。您必须以编程方式进行格式设置和样式化
我采取了一种方法,但我很成功。
程序是:
您需要创建一个类来替换显示标记的默认导出视图类,如ExcelHssfView
或DefaultHssfExportView
您可以通过实施ExportView
界面来实现这一点,因为显示标签文档说明了:
任何实现org.displaytag.export.ExportView接口的有效类。
但我实现了BinaryExportView
接口,因为它扩展了ExportView
所以它完全相同。
确实,我只是复制了ExcelHssfView
来源的所有代码,并仅编辑了doExport
方法。
如果您查看来源,您将了解您将要做什么。 提示:使用HSSFCellStyle
为excel文件提供任何样式
然后将您的课程指向.property file
。 export.excel.class=youpackage.yourExlcelView
查看ExportView
:ExcelHssfView Source Code