0 0

struts2 poi 统计指定月份的报表统计10

我需要统计部门 在指定的月份的
部门      人数统计 月初人数  月末人数 本月调入 本月调出 本月新入职 本月离职
IA 事业部
政府事业部
商用
软开
我只是做能 单纯的几张表做连接 然后生成报表 在内存中传入inputstream类型的值 供下载
这个报表统计 应该怎么做呢  各位大侠  详细一点啊  谢谢                                

问题补充:
huoyj 写道
POI不能帮你做统计功能,你自己写代码统计数据,然后将数据传给POI的API,由POI帮你生成EXCEL。
这儿有个POI的例子:
http://apps.hi.baidu.com/share/detail/18060353

poi 的报表功能已经可以了  就是不知道 该怎么统计这些数据  sql语句该怎么写

问题补充:
yanq12 写道
不明白你的意思

就是按年月查询  然后按部门分组 统计人数 月初 月末 (从别的部门)调入 调出 的统计
不知道sql语句该怎么写

问题补充:
asyty 写道
也没太懂你的意思

POI支持单元格使用函数的啊,统计的不就是用函数算个和 算个平均数或加减乘除一下嚒

可以的吧
http://stackoverflow.com/questions/1825321/how-can-get-the-sum-of-different-cell-values-in-excel-using-poi

是啊 就是不知道sql语句该怎么写 从后台读取数据 统计之后传到jsp的页面
我已经能够 实现excel 报表的功能 就是不知道 这个统计的sql语句该怎么写
O(∩_∩)O~ 

问题补充:
huoyj 写道
在数据库层可以建视图,写过程,写函数。
代码里面调用sql语句,过程和函数,然后对数据做一些处理再交给POI。

数据库方面 我接触不多 就是增删改查方面的 没有深入写过  可以具体一点吗
mysql oracle 都可以的

问题补充:
asyty 写道
引用
就是不知道 该怎么统计这些数据  sql语句该怎么写


sql其实也简单的,统计基本上就用几个函数嚒 SUM COUNT AVG 配合上group by分组

http://blog.sina.com.cn/s/blog_60de55600100fkze.html

这些函数是知道的 简单的还可以但是涉及到多张表 dept(部门) emp(员工) (部门调动)dept_change 而且按 年 月份统计 月初人数 月末人数
现在 有点混乱了   

问题补充:
asyty 写道
以及时段查询 就是where后面加个 时间 between xxx and xxx
http://zhidao.baidu.com/question/45999275
http://www.cnblogs.com/javaca88/archive/2006/09/27/516352.html

恩恩 谢谢 我试试 如果遇到问题 在问你好了 O(∩_∩)O~

问题补充:
asyty 写道
引用
现在 有点混乱了

=。=哈哈哈 你可以贴几张表 贴个问题要查啥 让答题的人帮你写写例子

好的 表怎么贴上去啊 

问题补充:
asyty 写道
引用
现在 有点混乱了

=。=哈哈哈 你可以贴几张表 贴个问题要查啥 让答题的人帮你写写例子

huoyj 写道
基本的sql不难写啊,你再根据你要统计的列和条件建立视图,直接从视图中读取结果就可以了,网上一大堆建视图的语句,你搜搜。

每一个单独的列好像都要写 where条件啊  统计人数
如:count(empno)月初人数 where 入职时间<指定月份 1号
    count(empno) 月末人数  where 入职时间<指定月份 30号
然后按部门分组
部门   月初人数  月末人数 本月调入 本月调出 新入职 离职(对人数进行统计)
IA     10        20     20       10    3     3
用到struts2 生成报表  好纠结啊  怎么写sql语句呢
用到emp 员工表  dept部门表  还有一张用户自然信息的表 user

问题补充:
asyty 写道
引用
好的 表怎么贴上去啊

直接贴图吧 或者贴SQL语句

我截图 但是都贴不上来  可以qq聊吗  纠结好久了呢

问题补充:
asyty 写道
引用
好的 表怎么贴上去啊

直接贴图吧 或者贴SQL语句

CREATE TABLE `dept` (
  `vId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `d_no` VARCHAR(20) NOT NULL,
  `d_name` VARCHAR(20) NOT NULL,
  `d_tel` VARCHAR(20) NOT NULL,
  `d_setdate` DATE NOT NULL,
  PRIMARY KEY (`vId`)
)

CREATE TABLE `emp` (
  `vId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `e_no` INT(10) NOT NULL,
  `userId` VARCHAR(20) NOT NULL,
  `e_formate` VARCHAR(10) NOT NULL COMMENT '员工状态 离职 转正 未入职 病休 离休',
  `d_no` VARCHAR(20) DEFAULT NULL,
  `j_no` VARCHAR(20) DEFAULT NULL,
  `e_indate` DATE NOT NULL COMMENT '入职时间',
  `e_worktime` DATE NOT NULL COMMENT '正式工作时间',
  PRIMARY KEY (`vId`)
)

CREATE TABLE `user_info` (
  `vId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '虚拟编号',
  `userId` VARCHAR(20) NOT NULL,
  `realname` VARCHAR(20) NOT NULL,
  `password` VARCHAR(20) NOT NULL,
  `id` VARCHAR(30) DEFAULT NULL,
  `sex` INT(5) DEFAULT '0' COMMENT '0 男 1 女',
  `age` INT(5) DEFAULT NULL,
  `folk` VARCHAR(10) DEFAULT NULL,
  `birthday` DATE DEFAULT NULL,
  `tel` VARCHAR(20) DEFAULT NULL,
  `email` VARCHAR(20) NOT NULL,
  `education` VARCHAR(10) DEFAULT NULL,
  `address` VARCHAR(20) DEFAULT NULL,
  `policy` VARCHAR(10) DEFAULT 'user',
  PRIMARY KEY (`vId`)
)

问题补充:
asyty 写道
要想sql语句简单就分成多次查询吧 每列都单独一个sql语句来查数据呗
select d.d_name,count(e.e_no) from dept d join emp e on d.d_no= e.d_no where 入职时间<指定月份 1号 group by d.d_name order by d.vid


这样就一列数据查出来了嚒。。。

或者套用select子句select出临时表再join嚒。。
select a.xxxx, b.xxx from (select xxx,xxx from xxx where xxx) a join (select xxx,xxx from xxx where xxxxx) b where xxxxxxx


忽然发现你的表没外键的 = 。=

我同学说开发的时候很少用到外键 都是指定相应的列 做链接 说以后维护可能会很麻烦  我就没做外键 
我明白了    谢谢啊  纠结了一天
2011年11月24日 22:42

11个答案 按时间排序 按投票排序

0 0

采纳的答案

要想sql语句简单就分成多次查询吧 每列都单独一个sql语句来查数据呗

select d.d_name,count(e.e_no) from dept d join emp e on d.d_no= e.d_no where 入职时间<指定月份 1号 group by d.d_name order by d.vid


这样就一列数据查出来了嚒。。。

或者套用select子句select出临时表再join嚒。。
select a.xxxx, b.xxx from (select xxx,xxx from xxx where xxx) a join (select xxx,xxx from xxx where xxxxx) b where xxxxxxx


忽然发现你的表没外键的 = 。=

2011年11月25日 14:56
0 0

引用
好的 表怎么贴上去啊

直接贴图吧 或者贴SQL语句

2011年11月25日 14:22
0 0

基本的sql不难写啊,你再根据你要统计的列和条件建立视图,直接从视图中读取结果就可以了,网上一大堆建视图的语句,你搜搜。

2011年11月25日 13:45
0 0

引用
现在 有点混乱了

=。=哈哈哈 你可以贴几张表 贴个问题要查啥 让答题的人帮你写写例子

2011年11月25日 13:41
0 0

以及时段查询 就是where后面加个 时间 between xxx and xxx
http://zhidao.baidu.com/question/45999275
http://www.cnblogs.com/javaca88/archive/2006/09/27/516352.html

2011年11月25日 13:36
0 0

你可以搜一下 聚合函数 group by, having这几个词,看几个例子就会了哈
http://blog.sina.com.cn/s/blog_59c85fed0100e41z.html
http://www.w3school.com.cn/sql/sql_groupby.asp

2011年11月25日 13:31
0 0

引用
就是不知道 该怎么统计这些数据  sql语句该怎么写


sql其实也简单的,统计基本上就用几个函数嚒 SUM COUNT AVG 配合上group by分组

http://blog.sina.com.cn/s/blog_60de55600100fkze.html

2011年11月25日 13:28
0 0

在数据库层可以建视图,写过程,写函数。
代码里面调用sql语句,过程和函数,然后对数据做一些处理再交给POI。

2011年11月25日 13:17
0 0

也没太懂你的意思

POI支持单元格使用函数的啊,统计的不就是用函数算个和 算个平均数或加减乘除一下嚒

可以的吧
http://stackoverflow.com/questions/1825321/how-can-get-the-sum-of-different-cell-values-in-excel-using-poi

2011年11月25日 08:35
0 0

POI不能帮你做统计功能,你自己写代码统计数据,然后将数据传给POI的API,由POI帮你生成EXCEL。
这儿有个POI的例子:
http://apps.hi.baidu.com/share/detail/18060353

2011年11月25日 08:01
0 0

不明白你的意思

2011年11月24日 23:41

相关推荐

    struts2 poi导出到excel

    Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。Struts2是一个基于MVC设计模式的Java EE框架,它提供了强大的动作控制、拦截器和结果类型等功能,使得Web应用的开发更加简洁高效。而...

    struts2 poi 导入xls xlsx 绝对兼容

    Struts2和Apache POI是Java开发中两个重要的库,它们在处理Web应用程序和Excel文件操作方面发挥着关键作用。Struts2是一个流行的MVC框架,用于构建动态、灵活的Web应用,而Apache POI是一个Java API,允许开发者读取...

    Struts结合poi.jar生成Excel报表

    标签“Struts报表”表明这是一个关于使用Struts框架进行报表生成的例子。在企业级应用中,报表通常涉及大量的数据处理和展示,因此了解如何在Struts中有效地实现这一功能是非常重要的。 文件列表中的"Excel2"可能是...

    struts2+poi实现导出Excel文件

    Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...

    Java Struts2+poi插件 实现导出Excel

    在Java Web开发中,Struts2是一个非常流行的MVC框架,它简化了处理HTTP...总之,通过Struts2和Apache POI的结合,开发者可以方便地在Web应用中提供数据导出为Excel的功能,这对于数据分析、报表生成等场景非常实用。

    在Struts2中使用JasperReports生成报表

    这些库通常包括struts2-core、jasperreports、jasperreports-fonts、poi(处理Excel数据)等。 2. **创建报表模板**:使用JasperSoft Studio或iReport等工具设计报表模板(.jrxml文件)。在这个模板中,你可以定义...

    struts2+poi导出excel表格完整例子

    Struts2和Apache POI是Java开发中常用的两个库,它们在Web应用中扮演着重要角色。Struts2是一个强大的MVC框架,用于构建企业级的Java Web应用程序,而POI则是Apache软件基金会的一个项目,专门用于处理Microsoft ...

    struts2中利用poi导出excel

    本篇文章将深入探讨如何在Struts2框架中使用POI库来导出Excel文件。 首先,我们需要在项目中引入Apache POI库。可以通过Maven或Gradle将其添加到构建文件中。对于Maven,可以在pom.xml文件中添加以下依赖: ```xml...

    Struts2 poi动态导入导出Excel源码示例

    首先,让我们深入理解一下如何使用Struts2和POI来实现Excel的导入导出。 1. **Struts2的Action配置**: 在Struts2中,你需要创建一个Action类来处理用户请求。这个Action类会有一个方法,专门处理导入或导出Excel...

    struts2 POI-3.7 excel上传下载

    Struts2是一个非常流行的Java Web框架,用于构建可维护、可扩展且结构清晰的...通过对Struts2的拦截器配置、Action类的编写以及POI的API使用,我们可以方便地处理Excel数据,这对于数据分析、报表生成等场景非常有用。

    struts2+poi实现excel文件的导出

    总之,通过 Struts2 和 POI 的结合,开发者可以方便地在 Web 应用中提供 Excel 文件的导出服务,满足数据分析、报表生成等多种场景的需求。记得在实际项目中根据实际情况进行调整和优化,确保代码的健壮性和性能。

    Struts2+POI3.7做excel导入

    在本项目中,“Struts2+POI3.7做excel导入”意味着我们将利用Struts2的文件上传功能结合POI库,实现用户从网页上选择Excel文件并将其数据导入到系统中的功能。 首先,我们需要在Struts2的配置文件(struts.xml)中...

    struts2+poi+jxl

    3. **报表生成**:基于Struts2的Web应用可以利用POI或JXL动态生成Excel报表。例如,根据用户的查询条件,后端生成相应的数据集,然后用这些数据创建定制化的Excel报表,再通过Struts2的Action返回给前端展示。 4. *...

    struts2 poi,jxl向excel表中插入记录源代码

    这个项目的核心功能是允许用户通过前端界面提交数据,然后这些数据会被Struts2的Action处理,并使用POI或JXL库写入到指定的Excel文件中。为了实现这一功能,你需要理解以下几个关键知识点: 1. **Struts2 Action**:...

    struts2+poi实现excel表格导出

    Struts2和Apache POI是Java开发中两个重要的工具,它们在处理Web应用程序中的数据导出,特别是Excel表格导出方面发挥着重要作用。Struts2是一个基于MVC设计模式的Web应用框架,它极大地简化了Java Web开发。而Apache...

    struts1 poi Excel批量导入支持xls和xlsx-源码java

    Struts1是一个经典的Java Web开发框架,而Apache POI是一个流行的API,用于处理Microsoft Office格式的文件,包括Excel。在本项目中,"struts1 poi Excel批量导入支持xls和xlsx"是一个基于Struts1和POI实现的功能,...

    Struts2+poi 实现从数据库中导出excel表

    Struts2 poi 实现从数据库中导出excel表

    基于struts2 spring ibatis poi开发的导出Excel实例

    【基于Struts2 Spring iBatis POI开发的导出Excel实例详解】 在现代Web应用程序中,导出数据到Excel格式是一种常见的需求,这有助于用户分析、存储或共享信息。本实例将详细介绍如何利用Struts2、Spring和iBatis...

    struts2+poi 实现Excel导出

    4. **Struts2配置**:为了实现在Struts2中调用POI方法,需要在struts.xml配置文件中定义一个Action,指定对应的类和方法。此外,可能还需要配置拦截器,比如`result`类型,以处理导出的结果。 5. **依赖管理**:在...

Global site tag (gtag.js) - Google Analytics