`
jiajie0531
  • 浏览: 29314 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

eXtremeTable--Export

    博客分类:
  • java
阅读更多
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()方法.

public
void addExportAttributes(TableModel model, Export export) {
}
ExportTag调用这个方法, 如果其方法被重写了. 那也就意味着你需要扩展ExportTag, 重写addExportAttributes()方法, 然后增加你自己的特性到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, 你可以编辑成下面这样:


 <ec:table
     items="presidents"
     action="${pageContext.request.contextPath}/public/demo/presidents.jsp"
     title="Presidents"
     >
   <mycompany:customExport fileName="presidents.txt" delimiter="|"/>
   ...
 </ec:table>
 
 

 

0
0
分享到:
评论

相关推荐

    eXtremeTable中文文档

    不过,从提供的文件信息中,我们可以推断出所要关注的关键词是“eXtremeTable中文文档”,这是一份面向初学者的eXtremeTable组件使用说明文档。现在,我将依据这些信息,尝试构建出一份详尽的eXtremeTable组件使用...

    eXtremeTable中文文档.pdf

    根据提供的文档部分内容,我们可以推断出这是一篇关于 eXtremeTable 的中文文档,主要涉及该工具或系统的使用、配置以及相关技术细节。虽然原始文本包含大量的特殊字符和不可读部分,但仍然可以从其中提取出一些关键...

    eXtremeTable分页控件完整例子(数据分页+数据导出)

    **eXtremeTable** 是一个专为Java Web开发设计的高效、易用的表格控件,它在处理大量数据时表现出色,尤其在数据分页和导出方面。在这个完整的例子中,我们将会深入探讨如何利用eXtremeTable实现数据的分页以及多种...

    eXtremeTable

    eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档 eXtremeTable文档

    extremeTable

    ### extremeTable:强大的数据展示工具 #### 一、概述 **extremeTable**是一款开源的JSP自定义标签库,其主要功能是通过表格形式来高效地展示数据。这款工具的最新版本为1.0.1-M1。作为一款类似于`displaytag`和`...

    ExtremeTable

    博文链接:https://xinzhiz.iteye.com/blog/198102

    extremetable教程.pdf

    《eXtremeTable教程详解》 eXtremeTable是一款强大的开源JSP定制标签库,主要用于在Web应用中以表格形式展示数据。本教程详细介绍了eXtremeTable的配置、使用方法以及各种标签的功能,旨在帮助开发者充分利用其功能...

    eXtremeTable的使用方法

    我也刚开始看,感觉是个好东东,大家多多交流

    eXtremeTable参考文档.pdf

    《eXtremeTable参考文档》是针对eXtremeComponents中的一款核心组件——eXtremeTable的详细指南。eXtremeComponents是一个开源项目,它为JavaServer Pages (JSP) 开发者提供了丰富的定制标签库,使得在Web应用开发中...

    eXtremeTable的使用方法.rar

    ExportService.exportToCSV(table, new File("output.csv")); ``` CHM文件“2008821161857.chm”很可能包含了上述所有操作的详细步骤,包括示例代码和常见问题解答。打开CHM文件,通过索引或搜索功能可以快速找到所...

    hibernate + extremetable 实现分页

    本教程将详细讲解如何使用Hibernate ORM框架结合ExtremeTable实现高效的分页查询。 Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,避免了直接编写SQL语句的繁琐。而...

    eXtremeComponents-1.0.4+extremetable使用手册+需要的jar包

    eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下.... 功能强大,易于扩展的extremetable就是个...

    eXtremeTable使用指南

    ### eXtremeTable使用指南:深入理解与配置 #### 引言 eXtremeTable作为eXtremeComponents系列中的核心组件之一,专为高级数据展示而设计,尤其适用于表格形式的数据呈现。该开源项目由Jeff Johnston领导的ECCN...

    displayTag,extremeTable

    displayTag,extremeTable相关文章

    springmvc+hibernate+extremetable 数据库增删改查

    Spring MVC、Hibernate 和 ExtremeTable 是三个在Web开发中常见的技术框架,它们分别负责不同的职责,协同工作以实现高效的数据管理。下面将详细解释这三个技术及其在数据库增删改查中的应用。 Spring MVC 是一个...

    Extremtable使用手册(中文)

    **eXtremeTable 使用手册概述** eXtremeTable 是 eXtremeComponents 系列中的一个开源 JSP 定制标签库,专门用于以表格形式展示数据。该库致力于提供高效、灵活的表格展示功能,使得开发者可以轻松配置和定制表格。...

Global site tag (gtag.js) - Google Analytics