首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用EasyPOI实现动态生成,多个sheet生成

一、背景 公司有个报表需求是根据指定日期范围导出指定数据,并且要根据不同逻辑生成两个Sheet,这个日期影响的是数而不是行数,即行的数量和的数量都是动态变化的,根据用户的选择动态生成的,这个问题花了不少时间才解决的...二、效果图 动态生成30个,两张Sheet 动态生成1个,两张Sheet 三 、准备 我们公司使用的版本是3.2.0,我们项目没有引入所有模块,只用到了base和annotation...这边就是动态生成的,跟用用户选择的日期范围,动态生成的数量 excelentity = new ExcelExportEntity(null, "recordDate");...//设置一个集合,存放动态生成 List modelListChild = new ArrayList()...mapParent = new HashMap(7); //这边只要和定义表格样式的时候 名称一致就行 我这边因为有三个字段不需要我这边后台生成

43620
您找到你想要的搜索结果了吗?
是的
没有找到

动态生成RDLC报表

前段时间,做了RDLC报表,主要是三块功能: 1、从DataGrid提取(包括最新的增删改)数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示、打印、排版...DataGrid里修改、增加、删除等数据变动,立即同步更新到报表 2、给一个简单的RDLC模板,提供表头的字体格式和表内部数据等样式相关的信息,然后再用DataGrid里提取的数据,生成DataTable...1、根据DataGrid每的宽度,按百分比,重新设置每的宽度。...DataGrid的数据抽取出来,转换成rdlc报表,以实现对提供DataGrid的打印、预览、分页和页面布局等功能的支持 3 /// 但需要提供一个rdlc报表的模板,必须包括页眉页脚,至少一数据和标题...,以便拿到数据的表头的 4 /// style和数据项的style,这一数据项必须是第一项(且第一项的表头和数据都完整提供了style) 5 /// </summary

8.2K50

EasyExcel实现动态解析和存表

总结:公共字段(翻译表头:@ExcelProperty 可以指定多个表头( @ExcelProperty(value = {"发货数量", "采购数量(台)"}) ))动态字段(需要有每个系统内动态字段的字段名称和表头的对应关系...ExcelProperty(value = {}) 中添加新的表头效果字典配置:图片数据表结果:图片公共字段使用常规的数据库表字段存储,动态字段使用额外存 JSON 串。...*/ private String dynamicFields; private Date createTime; private String createBy;}因为存在不确定的,...目前有一个缺点就是这样存的动态字段不好做条件查询,影响不是很大。...总结本文介绍了使用 EasyExcel 组件来进行导入,实现公共动态组合类型的导入,以及如何存储的功能,主要利用反射和字典分别来维护公共动态的表头和字段的对应关系,利用此关系对数据进行解析。

4.2K31

解决ERStudio无法生成mysql注释问题

前言 最近改用ER\Studio建模,发现ER\Studio居然不支持生成mysql注释,看网上都说勾选即可,然后生成mysql时并没有那个勾选项,试了下生成Oracle和DB2是支持的......no no no 于是开始改造 计划将生成mysql分为两步,第一步正常生成mysql文件,第二步生成DB2的sql文件,生成DB2文件是勾选如下选项, ?...然通过工具提取改造出独立的mysql注释语句,so easy~~ 演示 执行工具jar ########################################################...######### 此工具用于解决ER/Studio设置注释definition依然无法生成Mysql的注释问题 整体步骤: 1、使用ER/Studio生成Mysql的sql在数据库建表 2、使用ER...mysql注释工具 下载 没做过极限测试,可以自己调试改造或者留言。

1.2K20

根据数据源字段动态设置报表中的数量以及宽度

在报表系统中,我们通常会有这样的需求,就是由用户来决定报表中需要显示的数据,比如数据源中共有八数据,用户可以自己选择在报表中显示哪些,并且能够自动调整列的宽度,已铺满整个页面。...第一步:设计包含所有的报表模板,将数据源中的所有先放置到报表设计界面,并设置你需要的宽,最终界面如下: ?...第二步:在报表的后台代码中添加一个Columns的属性,用于接收用户选择的,同时,在报表的ReportStart事件中添加以下代码: /// /// 用户选择的列名称...,应该为前一坐标加上宽度 headers[c].Location = new PointF(tmp.Location.X + tmp.Width, headers[c]...源码下载: 动态设置报表中的数量以及宽度

4.8K100

vs生成动态库及使用动态

动态库(.dll):动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。...(引自百度百科) 静态库(.lib):静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库...使用动态库的优点是系统只需载入一次动态库,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存。...A:动态库的生成 1.新建win32项目——>DLL 2.新建头文件和源文件 // DLL_lib.cpp : 定义 DLL 应用程序的导出函数。...3.生成解决方案,然后就可以在Debug目录下找到生成的库 ---- 动态库的使用 (要用前面生成的库文件和建立的头文件) 新建win32项目—>控制台应用程序—>空项目 1、添加工程的头文件目录:

2.2K30

使用 easypoi 导出 excel 实现动态,完美解决!

说明 使用的是easypoi进行导出 行头是动态生成 依据key进行列匹配,进行数据填充 第一进行纵向动态合并 自己的一个使用,记录一下 工具依赖     ...artifactId>easypoi-web    3.2.0 实现效果 变更前样式 变更后样式 代码解析 动态生成头...new ExcelExportEntity("统计字段2", "statisKey2", 30);     entityList.add(statisDateXh);     //参数信息--[用于动态拼接头...[mergeMap key索引(从0开始),value依赖的,没有传空,startRow 开始行(从零开始)]     //Map mer = new HashMap...new ExcelExportEntity("统计字段2", "statisKey2", 30);     entityList.add(statisDateXh);     //参数信息--[用于动态拼接

3.2K40

使用CodeDom动态生成类型

其实匿名对象也不是真的没有名称,编译器在编译后自动会生成一个Type。我们看看IL就知道了。 ? 编译器会自动生成一个叫做f__AnonymousType0`1的类型。...动态生成类型 但是有的时候我们可能类型里面的字段都是不确定的,这个时候我们就需要去动态生成一个类型了。...动态生成类型第一个想到的就是反射,但是仔细想想反射都是基于现有Type的基础上完成的,咱们现在连Type都没有,所以这条路不通。...第二个dynamic,dynamic确实是个好办法,可以动态指定字段的名称,但是有的三方的库不支持比如dapper。 最后CodeDom,CodeDom可以在运行时直接生成一个Type。...CodeDom生成Type主要分成3步。

97030
领券