Birt支持自定义导出中文名称
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,虽然支持文件导出功能,但不支持导出时动态自定义文件名称,尤其不支持中文。Birt默认提
千家信息网最后更新 2026年11月03日Birt支持自定义导出中文名称
BIRT 是以 Java 和 JavaEE 为基础为 Web 应用程序开发的基于 Eclipse 的开源报表系统,虽然支持文件导出功能,但不支持导出时动态自定义文件名称,尤其不支持中文。
Birt默认提供了两种导出文件时自定义名称的方法,如下:
- DefaultFilenameGenerator:报表文件名称.后缀名
- TimestampFilenameGenerator:报表文件名称+yyyyMMdd-HHmmss.后缀名
Birt若实现自定义导出文件名称,需要实现org.eclipse.birt.report.utility.filename包下的IFilenameGenerator接口,具体操作如下:
- 自定义实现IFilenameGenerator 接口
public class CustomExportGenerator implements IFilenameGenerator { @Override public String getFilename( String baseName, String fileExtension, String outputType, Map options) { return baseName + "." + fileExtension; }}从上面的代码看出,IFilenameGenerator 中的方法默认没有提供自定义文件名称,这时候只能够从Map options参数中获取,当然如果不嫌麻烦的话,也可以重写getFilename接口。
Object obj = options.get("httpRequest"); if(obj !=null && obj instanceof RequestFacade){ RequestFacade request = (RequestFacade)obj; exportName = ParameterAccessor.getParameter(request,"__filename"); }- 配置Birt的导出文件生成类
修改web.xml
BIRT_FILENAME_GENERATOR_CLASS org.eclipse.birt.report.utility.filename.CustomExportGenerator - 支持中文
文件名称:org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment
方法: doPreService( HttpServletRequest request, HttpServletResponse response )
操作:
String filename = ParameterAccessor.getExportFilename( new BirtContext( request, response ), format, emitterId ); String displayName = URLEncoder.encode(filename,"utf-8"); displayName = displayName .replace("+","%20"); response.setCharacterEncoding("utf-8"); response.setHeader("contentType", "text/html; charset=utf-8"); response.setHeader( "Content-Disposition", //$NON-NLS-1$ ParameterAccessor.htmlEncode( openType ) + "; filename=\"" + ParameterAccessor.htmlEncode(displayName ) + "\"" ); - 修改Tomcat的编码
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- 访问方式:
frameset?report=test.rptdesign&format=docx&__filename=测试
文件
名称
支持
报表
接口
方法
中文
后缀
utf-8
代码
功能
动态
参数
基础
应用程序
文件名
方式
程序
系统
编码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
互联网加科技
西安纸贵互联网科技有限公司
互联网 的科技创新
奇酷互联网科技
互联网科技股票
世界互联网领先科技成果
华中科技大学互联网
广州凡科互联网科技
山东吉时兔互联网科技有限公司
青海省互联网新科技
苏州五指互联网络科技有限
晓花互联网科技有限公司网址
苏州铭阳互联网科技有限公司
广西互联网科技孵化中心
滨湖区互联网智能科技产品有哪些
无锡工业互联网科技有限公司
厦门江牛科技互联网
昆明中奇联合互联网科技
马化腾互联网科技教学
互联网与科技
圆梦互联网科技
互联网金融 科技金融
唐信互联网科技
鑫亿盛互联网科技
注册互联网科技公司经营范围大全
中科明德北京互联网科技
中国互联网有什么科技
江苏互联网智能科技软件
恒生科技互联网指数十大成分股