BIRT4.4导出xlsx文件单sheet
来源:互联网 发布:手机屏幕画笔软件 编辑:程序博客网 时间:2024/06/08 06:30
Birt报表设计器文件导出Excel文件时,不做多个sheet页的设定,如果不做特殊设定,在导出的Excel文件中,系统会自动分成多sheet页。
如果用户的设计器文件高度小于50in,则按用户设定的高度显示数据;否则,则按50的高度分页数据。Birt4.4支持导出Excel2007格式即xlsx格式文件,该格式文件的好处是能够在一个sheet中存储超过六万条数据,而Excel2003格式即xls格式若导出大数据会将自动分成多个sheet,这在客户浏览数据时非常不方便。
下面介绍实现单sheet存储所有数据的修改办法:
鼠标点击Table控制,找到table Detail行(用于循环数据的那行,不是汇总或者小计的那行)。然后在master page 属性卡上点击左侧的general,选择custom项,设定其height属性值为一个大的数值。这个值最大限度是13888。
选中表格,点击layout选项卡,选择page break 将 其中的before、after、Inside中的值都设置为Avoid。并且将Page breakInterval的数值填为0。
经过这样的设置,生成的Excel文件就不会自动分sheet页了。
当然程序很多时候并不能把模版写死,可能Excel方式不需要分页显示,但是Pdf方式获知其他的方式需要分页。
这就需要通过api调整参数,动态调整模版里面的参数。
// Open the report design //design = reportEngine.openReportDesign(rptTemplateUrl); // Get report body design SlotHandle slotHandle = design.getDesignHandle().getModuleHandle() .getSlot(IInternalReportDesignModel.BODY_SLOT); Iterator<DesignElementHandle> slotIter = slotHandle.iterator(); while (slotIter.hasNext()) { DesignElementHandle handle = slotIter.next(); if ("Table".equals(handle.getElement().getDefn().getName())) { handle.setProperty("pageBreakAfter", DesignChoiceConstants.PAGE_BREAK_AFTER_AVOID); handle.setProperty("pageBreakBefore", DesignChoiceConstants.PAGE_BREAK_BEFORE_AVOID); handle.setProperty("pageBreakInside", DesignChoiceConstants.PAGE_BREAK_INSIDE_AVOID); handle.setProperty("pageBreakInterval", 0); } } // 注意:这里面的高度调整,在前面设置了不分页的情况下,没有什么特别的效果,但是Excel高度支持 // 13888,超过这个高度估计也会报错。没有试过 SlotHandle slotMasterPageHandle = design.getDesignHandle().getModuleHandle().getMasterPages(); Iterator<SimpleMasterPageHandle> pageHandleIter = slotMasterPageHandle.iterator(); while (pageHandleIter.hasNext()) { SimpleMasterPageHandle simpleMasterHandle = pageHandleIter.next(); simpleMasterHandle.setOrientation(DesignChoiceConstants.PAGE_SIZE_CUSTOM); simpleMasterHandle.setPageType(DesignChoiceConstants.VALUE_FORMAT_TYPE_CUSTOM); simpleMasterHandle.setProperty("height", "10000in"); }
上面2种方式都可以支持xlsx导出为单sheet.
参考文章:
BIRT4.4导出xlsx文件单sheet 对应百度文库里面的一篇文档。
BIRT4.4.3 底层API
0 0
- BIRT4.4导出xlsx文件单sheet
- BIRT4.4导出xlsx文件单sheet
- excel文件里有多个sheet,把每个sheet全部导出为单独的xls或xlsx
- PHP导出csv,xls,xlsx文件
- Go语言导出excel文件(.xlsx)
- C#导出分Sheet的Excel文件
- C#导出分Sheet的Excel文件
- C#导出分Sheet的Excel文件
- .net多sheet页导出文件
- Qt中导出.txt, .xls, .xlsx, .pdf文件小结
- scala 使用POI导出xlsx文件,添加背景颜色
- ASP.NET Core 导入导出Excel xlsx 文件
- Python之xlsx文件从MySQL数据库导入导出
- 使用poi单sheet导出超过65535条记录
- 导出写Excel文件,Sheet名与导出文件名相同
- nodeJS 利用xlsx导出插件导出excel文件 (可以设置excel单元格颜色/宽度)
- BIRT报表导出Excel文件怎样添加sheet?
- Java将多个数据表导出多个Sheet到Excel文件
- 等待一个异步function的结果
- iOS中旋转加载动画的实现
- Struts1.1应用初步
- Fedora23 安装 BCM43142 无线网卡驱动
- 实现炫酷的卡片式动画!
- BIRT4.4导出xlsx文件单sheet
- JavaScript异步编程
- nyoj-35 表达式求值
- 做android爽到爆的东西,一般人我不告诉他
- 使用CALayer的Mask实现注水动画效果
- 安卓开发之动态注册网络监听广播
- 栈+递归+htmlunit分层访问动态页面
- Linux上vi(vim)编辑器使用教程
- 编译OpenCV2.4.x + CUDA7.0 + vs2013