JasperReport制作行内容合并的表格
效果图:

实现思路一:
交叉表
另一个思路:
普通表格
缺点:无法实现内容 垂直居中显示
准备工作
一、数据准备
DROP TABLE IF EXISTS `address_item_sex_value`;
CREATE TABLE `address_item_sex_value` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(255) DEFAULT NULL,
`sex` varchar(255) DEFAULT NULL,
`item` varchar(255) DEFAULT NULL,
`value` int(11) DEFAULT NULL,
`proportion` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of address_item_sex_value
-- ----------------------------
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '男生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '男生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '男生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '女生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '女生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '女生', '指标1', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '男生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '男生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '男生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '女生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '女生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '女生', '指标2', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '男生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '男生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '男生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '女生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '女生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '女生', '指标3', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '男生', '指标4', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '男生', '指标4', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '男生', '指标4', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '城区', '女生', '指标4', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '远郊', '女生', '指标4', '', '');
INSERT INTO `address_item_sex_value` VALUES ('', '近郊', '女生', '指标4', '', '');
二、设置SQL与字段
SELECT report.address_item_sex_value.id,
report.address_item_sex_value.address,
report.address_item_sex_value.sex,
report.address_item_sex_value.item,
report.address_item_sex_value.value,
1 a
FROM report.address_item_sex_value order by report.address_item_sex_value.address
SQL中有一个空闲的字段a、有一个默认值。很重要、是为了X轴的交叉表做考虑
三、设计列表
设置横列

1、选择字段a
2、设置total(按需要、这里不需要汇总列)
设置竖列

设置交叉值

四、设计显示
删除横列值

设置Column groups高度

设置高度为 0px

效果图

设置 水平居中、垂直居中

表头部分说一下
表头放在ColumnHeader里面,按需自己组装即可。

最终效果图

JasperReport制作行内容合并的表格的更多相关文章
- Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform
Expression构建DataTable to Entity 映射委托 1 namespace Echofool.Utility.Common { 2 using System; 3 using ...
- 编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理
编辑表格输入内容.根据input输入框输入数字动态生成表格行数.编辑表格内容提交传给后台数据处理 记录自己学习做的东西,写的小demo,希望对大家也有帮助! 代码如下: <!DOCTYPE ht ...
- javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行
jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...
- 使用Notepad++将多行数据合并成一行
1.按Ctrl+F,弹出“替换”的窗口: 2.选择“替换”菜单: 3.“查找目标”内容输入为:\r\n: 4.“替换为”内容为空: 5.“查找模式”选择为正则表达式: 6.设置好之后,点击“全部替换” ...
- Java导出数据行写入到Excel表格:基于Apache POI
Java导出数据行写入到Excel表格:基于Apache POI import java.io.File; import java.io.FileOutputStream; import org.ap ...
- excel单元格内容合并
这几天在整理数据,有时候数据都在表格的不同单元格中,想把两格内容合并为一格,于是验证了两种方法 方法一: (1)在B1输入公式=A1&B1 (2)做完第一步后,选中B1后,鼠标移到单元格右下出 ...
- SQL将多行数据合并成一行【转】
转:https://blog.csdn.net/AntherFantacy/article/details/83824182 今天同事问了一个需求,就是将多行数据合并成一行进行显示,查询了一些资料,照 ...
- WPF设置DataGrid行内容高度自适应 与 TextBox/TextBlock内容高度自适应
WPF设置DataGrid行内容高度自适应 TextBox/TextBlock内容高度自适应 参考: DataGrid 控件中的调整大小选项: http://msdn.microsoft.com/ ...
- 关于SQL Server将一列的多行内容拼接成一行的问题讨论
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我 ...
随机推荐
- Last Day in Autodesk
今天是我的最后一天在Autodesk上海了,以后将不再折腾那么大的软件了,还是回到CG开发中捣鼓短小精悍的东西——我还将继续整理开源CG生产工具. Today is my last day in Au ...
- Spring从认识到细化了解
目录 Spring的介绍 基本运行环境搭建 IoC 介绍: 示例使用: 使用说明: 使用注意: Bean的实例化方式 Bean的作用范围的配置: 补充: DI: 属性注入: 补充: IoC的注解方式: ...
- Python笔记(十六):迭代器
(一)iterable对象和Iterator对象的区别 iterable对象(可迭代的对象):可以使用for循环,例如:字符串.列表 .字典 .集合等 Iterator对象(迭代器):除了可以用for ...
- The process could not read file xxx due to OS error 53
在不同地域的两个SQL Server服务器上配置了复制(Replication)用于同步数据(生产环境配置有Replication,测试环境也配有Replication),两地通过专线连接起来,这 ...
- Bean named '...' is expected to be of type [...] but was actually of type [com.sun.proxy.$Proxy7解决方法
报错 三月 07, 2017 8:09:52 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepare ...
- MySQL open_tables和opened_tables
官网解释参见:https://dev.mysql.com/doc/refman/5.7/en/table-cache.html 其他可供参考的文章有: 关于表限制参数的使用:https://dba.s ...
- Android Studio移除模块
一.打开文件菜单下的项目结构 二.在项目结构中选中模块,点击-号,然后删除 三.删除本地文件,移除模块成功
- Android 模块构建错误不能下载依赖包
在模块的build.gradle里面添加了 implementation 'com.android.support:design:26.1.0' 构建的时候一直报这个错 Unable to resol ...
- [Hive_6] Hive 的内置函数应用
0. 说明 Hive 的内置函数的基本操作 | 时间函数 | String 函数 | 条件语句 | explode | split | substring 1. 基本操作 查看函数 show func ...
- GitHub-分支管理01
参考博文:廖雪峰Git教程 1. 分支说明 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不 ...