2

我在我的网络应用程序中使用显示标签。我成功地将显示标签显示的数据导出到excel。

问题是我还希望将标题和数据行样式以及 css 包含在导出的 excel 中。

例如,标题行用灰色背景加粗,数据行中的列根据值着色。

但这并没有导出到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" />

我正在使用默认的显示标签样式表,并对其进行了一些细微的更改。

请帮忙。

4

3 回答 3

2

CSS 样式必须直接应用于需要样式的每个元素。因此,对于带有灰色背景的粗体标题行,您需要以下 css:

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

(或代替th, 使用theador thead tr

displaytag 还将某些类应用于奇数/偶数行、排序行和其他一些行。有关详细信息,请参阅此页面。

另外,Excel 只能使用 56 种不同的颜色,所以如果要字体颜色或背景颜色,必须使用 Excel 可以接受的颜色。 有关Excel 兼容颜色的全部内容,请参阅本文。

以下是可接受颜色的简短列表:AQUA、BLACK、BLUE、BLUE_GREY、BRIGHT_GREEN、BROWN、CORAL、CORNFLOWER_BLUE、DARK_BLUE、DARK_GREEN、DARK_RED、DARK_TEAL、DARK_YELLOW、GOLD、GREEN、G​​REY_25_PERCENT、GREY_40_PERCENT、GREY_END_50PERCENT、 , LEMON_CHIFFON, LIG​​HT_BLUE, LIG​​HT_CORNFLOWER_BLUE, LIG​​HT_GREEN, LIG​​HT_ORANGE, LIG​​HT_TURQUOISE, LIG​​HT_YELLOW, LIME, MAROON, OLIVE_GREEN, ORANGE, ORCHID, PALE_BLUE, PINK, PLUM, RED, ROSE, ROYAL_BLUE, SEA_GREEN, 天蓝色, 黄褐色, 黄色

于 2012-05-15T17:26:45.300 回答
1

要导出带有样式信息的 HTML 表格,您不能使用 CSS 的 Class 方法。而是在需要以某种方式格式化的每个 HTML 标记中添加样式参数。例如为表格行设置样式

于 2012-05-19T18:48:32.963 回答
0

根据我最近的学习,我了解到Display 标签不能直接导出 HTML 中使用的 css 样式。您必须以编程方式进行格式化和样式设置

我采取了一种方法并且我成功了。

过程是:
您将需要创建一个类来替换显示标签的默认导出视图类,例如ExcelHssfViewDefaultHssfExportView

您可以通过实现ExportView 接口来做到这一点,因为显示标签文档说:
任何实现 org.displaytag.export.ExportView 接口的有效类

但是我 BinaryExportView在扩展时实现了接口,ExportView所以它都是一样的。说真的,我只是从源代码中复制了所有代码,ExcelHssfView只编辑了doExport方法。如果您查看源代码,您将了解您将要做什么。 提示:用于HSSFCellStyle为 excel 文件赋予任何样式

然后点你的类中.property fileexport.excel.class=youpackage.yourExlcelView

查看示例ExportViewExcelHssfView 源代码

于 2014-07-21T08:46:33.783 回答