Export
导出
Introduction
介绍
eXtremeTable本身有一个能力, 就是可以导出table内容为多种格式. 当导出时, 在过滤和排序后, 你将会得到完整的结果集. 分页不会影响返回的结果记录. 换句话说, 如果table内容显示在多页时, 所有页面的所有结果记录都会被导出. 导出的格式包括 Excel, PDF 和CSV.
为了导出 Microsoft Excel (OpenOffice Calc), 需要使用ExportXls Tag.
<ec:table
items="presidents"
action="${pageContext.request.contextPath}/presidents.run"
/>
<ec:exportXls
fileName="presidents.xls"
tooltip="Export Excel"/>
...
</ec:table>
默认的XlsView使用的是UTF-16编码. 如果你需要使用unicode, 那么可以使用编码特性. 可以使用的编码有UTF和UNICODE.
为了导出PDF, 可以使用ExportPdfTag. 你需要定义是fileName特性和一些其他类型的特性.
<ec:table
items="presidents"
action="${pageContext.request.contextPath}/presidents.run"
/>
<ec:exportPdf
fileName="presidents.pdf"
tooltip="Export PDF"
headerColor="blue"
headerBackgroundColor="red"
headerTitle="Presidents"/>
...
</ec:table>
为了导出CSV, 可以使用ExportCsvTag. 当使用CSV导出是, 默认的分隔符是逗号. 如果你想要用其他符号来分割的话, 那么可以使用delimiter特性. 在这个例子中, 我使用竖杠(pipe)来分割.
<ec:table
items="presidents"
action="${pageContext.request.contextPath}/presidents.run" />
<ec:exportCsv
fileName="presidents.txt"
tooltip="Export CSV"
delimiter="|"/>
...
</ec:table>
如果你想要构建其他的输出格式, 你可以用view特性. 在eXtremeTable中views实现了接口View, 是可插拔式的. 可以参考 [[Views|View]] 这一章节获取更多的信息.
Interceptor
拦截器
拦截器的特征就是被用来在运行时改变属性值的. 这就能够改变基于数据的导出行为了, 关于更多的拦截器相关可以参考 interceptor tutorial.
Extended Attributes
扩展特性
大部分tags被开发的方式是, 在一个tag上拥有一些固定的特性. 那些特性然后被使用, 一些固定集合的功能能够被调用. 然而, eXtremeTable有着更多的灵活性. eXtremeTable给你一种方式来增加你自己tag的特性, 以至于你能做更多定制化的工作. 不止如此, 在eXtremeTable中有着更清晰的hooks, 从而允许你获取到那些自定义的tag特性, 然后再编辑它们. 下面将会是一个典型的自定义的View.
hook为了能包括eXtremeTable中的特性, 可以通过addExportAttributes()方法.
ExportTag调用这个方法, 如果其方法被重写了. 那也就意味着你需要扩展ExportTag, 重写addExportAttributes()方法, 然后增加你自己的特性到Export对象中.
public void addExportAttributes(TableModel model, Export export) {
}
这个就是ExportCsvTag的示例代码:
public class ExportCsvTag extends ExportTag {
private String delimiter;
public String getDelimiter() {
return delimiter;
}
public void setDelimiter(String delimiter) {
this.delimiter = delimiter;
}
public void addExportAttributes(TableModel model, Export export) {
export.addAttribute(CsvView.DELIMITER, TagUtils.evaluateExpressionAsString("delimiter", delimiter, this, pageContext));
}
}
既然你增加了特性, 你可以从Export中来获取他们. 这里是CsvView实现的一部分代码:
public class CsvView implements View {
public void body(TableModel model, Column column) {
Export export = model.getExportHandler().getCurrentExport();
String delimiter = export.getAttributeAsString(DELIMITER);
}
}
另外一件事我想要确保你明白的是, 你能够创建你自己的tag, 拥有你自己的TLD文件. 你不需要去修改extremecomponents.tld文件. 还可以你使用你自定义的tag, 就如同在eXtremeTable中你使用其他的tag一样, 除非你引用你自己的tag. 例如, 如果你的tag引用是mycompany, tag被称为customExport, 你可以编辑成下面这样:
|
original text: https://code.google.com/p/extremetable/wiki/Export
相关推荐
eXtremeTable中文文档
eXtremeTable中文文档.pdf
eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档
博文链接:https://xinzhiz.iteye.com/blog/198102
我也刚开始看,感觉是个好东东,大家多多交流
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下....
eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法 eXtremeTable的使用方法
extremeTable,开源的jsp 自定义标签,以表格的形式显示数据,当前最新版本为 1.0.1-M1. 它是一个类似display tag,valueList 等开源产品.
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下.... 功能强大,易于扩展的extremetable就是个...
extremetable教程.pdf
eXtremeTable使用指南
用Hibernate + extremetable 实现的分页,和Hibernate 的分页,希望对大家有点帮助
displayTag,extremeTable相关文章
个人认为spring mvc的设计十分精巧,前端用extremetable做的显示数据表格
eXtremeComponents是一系列提供高级显示的开源JSP 定制标签
rapid-validation 集成extremeTable列表分页组件,并简单扩展显示pageNumber 集成DBUnit及spring对数据库测试的支持 内置的分页查询PageInfo接口 Java日期转换的特殊处理,与My97DatePicker集成 内置最精简的ant构建...