步骤一:准备工作
1.在网上下载源代码eXtremeComponents-1.0.1-with-dependencies.zip
其中目录\lib\pdf下提供对pdf导出的支持包
avalon-framework-4.0.jar
batik-1.5-fop-0.20-5.jar
fop-0.20.5.jar
xalan-2.5.1.jar
xercesImpl-2.6.1.jar
xml-apis-2.0.2.jar
2.在网上下载fop-0.95beta-src.zip,下载地址:http://apache.mirror.phpchina.com/xmlgraphics/fop/source/
在该版本或其他fop版本(fop-0.20.5rc2.jar)中找到/conf/userconfig.xml
3.找到系统字体文件位置,本人系统为 xp home edition版本
在C:\WINDOWS\Fonts目录下搜索 *.ttf文件,在查找结果列表中,我们发现中文字体有simkai.ttf(楷体),simhei.ttf(黑体),simfang.ttf(仿宋)等
步骤二:生成xml文件工作
在fop源代码中,org.apache.fop.fonts.apps.TTFReader 系统ttf文件位置 生成xml文件名
java org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\simkai.ttf simkai.xml
java org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\simhei.ttf simhei.xml
java org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\Fonts\simfang.ttf simfang.xml
步骤三:在工程中配置
1.web.xml
<filter>
<filter-name>eXtremeExport</filter-name>
<filter-class>
org.extremecomponents.table.filter.ExportFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>eXtremeExport</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>extremecomponentsPreferencesLocation</param-name>
<param-value>/conf/extremetable.properties</param-value>
</context-param>
2.将步骤一2操作中userconfig.xml文件放到工程类路径conf下面,编辑该xml文件
<fonts>
<font metrics-file="
simkai.xml文件放置的绝对路径" kerning="yes" embed-file="
simkai.ttf文件放置的绝对路径">
<font-triplet name="Simkai" style="normal" weight="normal"/>
<font-triplet name="SimkaiMT" style="normal" weight="normal"/>
</font>
<font metrics-file="simhei.xml文件放置的绝对路径" kerning="yes" embed-file="simhei.ttf文件放置的绝对路径">
<font-triplet name="Simhei" style="normal" weight="normal"/>
<font-triplet name="SimheiMT" style="normal" weight="normal"/>
</font>
<font metrics-file="simfang.xml文件放置的绝对路径" kerning="yes" embed-file="simfang.ttf文件放置的绝对路径">
<font-triplet name="Simfang" style="normal" weight="normal"/>
<font-triplet name="SimfangMT" style="normal" weight="normal"/>
</font>
</fonts>
3.对extremetable.properties进行编辑,增加下面两行
exportPdf.userconfigLocation=/conf/userconfig.xml
exportPdf.font=Simfang
异常总结:
1.如果点击pdf图标导出没有反应,可能是由于web.xml没有正确配置eXtremeExport过滤器
2.如果提示java.lang.NoClassDefFoundError问题,可能是步骤一1中驱动包导入不完整
3.[ERROR] Failed to read a font metrics file: Invalid font metrics file: simfang.xml (no protocol: arialuni.xml)
[ERROR] unknown font simfang,normal,normal so defaulted font to any
[ERROR] unknown font simfang,normal,normal so defaulted font to any
说明userconfig.xml文件正确加载,但是步骤三2中simfang.xml路径配置不正确,应该是绝对路径
4.测试反馈
simhei(黑体)
Error for /wap1/listUserInfo.do
java.lang.OutOfMemoryError: Java heap space
simkai(楷体)
[ERROR] Failed to read font metrics file file:/E:/simkai.xml: Character reference "�" is an invalid XML character.
java.lang.NullPointerException
经过测试发现只有simfang仿宋可以使用
5.导出时列属性设置:
<@ec.row>
<@ec.column property="属性1" />
<@ec.column property="属性2" />
</@ec.row>
如果属性1和属性2相同,就会抛出下面的异常:
org.apache.fop.apps.FOPException: null:3:697 A table row must be child of fo:table-body, fo:table-header or fo:table-footer, not fo:table-row
at org.apache.fop.fo.flow.TableRow.<init>(TableRow.java:184)
at org.apache.fop.fo.flow.TableRow$Maker.make(TableRow.java:69)
at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:352)
...
解决方法:property中属性名称不能存在相同的值
其他属性:如果某列不需要导出为pdf,xls,可以设置该列<@ec.column property="属性3" viewsDenied="pdf,xls" />
如果某列需要导出:viewsAllowed="pdf,xls",默认是支持全部列导出.
分享到:
相关推荐
EC的核心特性包括支持分页显示、数据导出到Excel和PDF等格式,极大地提升了开发效率和用户体验。 ### 一、eXtremeComponents概述 eXtremeComponents由一系列相互协作的Java组件组成,主要服务于数据展示和交互。...
eXtremeComponents组件,导出Excel或pdf文件的jar包
它不仅提供美观的表格布局,还具备强大的数据处理能力,如内置的导出功能,可以将数据导出为Excel或PDF格式,这对于数据分析、报告生成以及数据共享等工作流程极其便利。 "ECTable" 是核心组件,它可能是一个Java库...
`ExportTag`用于导出表格数据为不同格式,如Excel、PDF等。 **7.2 扩展属性** 可以自定义导出文件的名称、类型等。 #### 八、Callbacks **8.1 引言** 回调函数允许开发者在某些特定事件发生时执行自定义逻辑。 ...
eXtremeTable分页控件完整例子包括了数据的分页、数据的Excel格式导出、数据的pdf电子书格式导出、数据的文本文件格式导出等功能,里面的源代码写得非常详细,好好看一下.... 功能强大,易于扩展的extremetable就是个...
- PDF导出所需的Jars(除了上述最小Jars外还需): - avalon-framework 4.0 - batik 1.5-fop-0.20-5 - fop 0.20.5 - xalan 2.5.1 - xercesImpl 2.6.1 - xml-apis 2.0.2 - XLS导出所需的Jars(除了最小Jars外还...
它还提供打印预览和导出功能,可以将报表导出为PDF、Excel等多种格式。 4. 导航组件:eXtremeNavigator提供了一种高效的方式来组织和展示应用程序的各个部分,如菜单、工具栏和选项卡。开发者可以轻松地自定义导航...
- 结合`export`属性,可以将表格数据导出为PDF或XLS格式。 通过深入学习eXtremeComponents,开发者可以构建出交互性强、功能丰富的Web界面,提升用户体验。同时,由于ec基于标准JSP标签,易于理解和集成到现有的...
1. **兼容性问题**:确保所使用的eXtremeComponents版本与项目中其他组件和库相兼容,避免因版本不一致导致的问题。 2. **性能优化**:对于大数据量的表格展示,可以考虑使用分页功能,减轻服务器压力。 3. **安全性...
ExportTag允许将表格数据导出为不同格式的文件,如Excel、CSV或PDF等。 - **扩展属性**:包括一组扩展属性,以满足不同的导出需求。 #### 8. Callbacks ##### 8.1 引言 Callbacks机制提供了对数据处理过程的更精细...
内附使用说明,亲身试验可行。极力推荐!...eXtremeComponents是提供更高级数据显示的开源JSP标签,用于以表格的形式来显示数据,它的功能强大且使用简单,常用的功能包括排序、分页、导出Excel与pdf等。
- **导出功能**:允许用户将页面上的数据导出为PDF、XLS或CSV文件,方便离线使用和分享。 #### 三、系统开发架构 - **架构模式**:采用了标准的J2EE开发架构,具体包括Model-View-Controller (MVC) 和 Data Access ...
- 导出功能:支持导出PDF、XLS和CSV文件,方便数据的离线处理和共享。 2. 系统开发架构 ECSide项目遵循标准的J2EE开发模式,采用MVC(Model-View-Controller)设计模式和DAO(Data Access Object)模式。项目结构...
对于PDF导出功能,额外需要: - avalon-framework 4.0 - batik 1.5-fop-0.20-5 - fop 0.20.5 - xalan 2.5.1 - xercesImpl 2.6.1 - xml-apis 2.0.2 对于XLS导出,则需要: - poi-2.5.1.jar ##### 安装步骤: 1. ...
1. **Excel/PDF导出无需额外JSP**: 相比于`valueList`等工具,使用**extremeTable**时无需为每个表格单独编写用于导出Excel或PDF的JSP文件。 2. **高度可扩展性**: 用户可以根据自己的需求轻松地进行定制化修改,而...
6. **导出功能**:支持导出为 PDF 和 XLS 格式,方便数据的离线处理。 7. **国际化**:eXtremeTable 支持多语言环境,可以配置不同的语言包。 **社区与支持** 文档作者鼓励用户提出需求和建议,可通过论坛或邮件...
- **依赖包管理**:项目依赖包括common(通用依赖)、font(用于PDF导出的字体文件)、pdf(PDF导出所需JAR文件),所有下载的文件需解压并放置于`WEB-INF/lib`目录下,以便Eclipse自动识别加载。 - **数据库创建与...
8. `viewsAllowed`属性用于限制表格数据可以导出的视图类型,如HTML、PDF、XLS等。只指定某些视图意味着列只能在这些指定视图中使用,提供了灵活性和安全性。 总的来说,Struts的`ec`标签库提供了一套强大的工具,...