开发jxca报表心得

虽然是一张简单的报表,但是,真正做起来还是遇到很多问题,可以写下来的很多东西。

一、后台数据获得

1、后台数据的获得,因为SQLServer数据库本身数据量很大,因此在获得数据的时候SQL语句的编写十分重要。要统计满足某个条件的记录条数,当然知道是 select count(*) group by   的形式来获得,但是,如果为空的记录就不会显示出来。起初我使用的是“ group by 所在设区市 ”的形式,然后再取并集,这种比较笨的方法实现,这种显然效率比较低。第二天在网上搜索了一下,使用“ group by all 所在设区市 ”的形式,这种方法可以把为空的市区也呈现出来,符合我们的要求。

2、主要用了两个bean,一个ConnDB.java(连接数据库),一个 ShuliangManager.java(静态方法,返回所取数据列表)。

二前台页面的展现

1、周日在家,我的想法是单独用table 来实现,但是遇到了很多问题,而且非常难以实现这样的方式。周一,咨询了一位同事,用dreamweaver来实现。用这个确实比较简单。需要借鉴的是,如果某个单元格是通过合并多行或者多列实现的,是通过 <td width="252" rowspan="2" colspan="2"><div align="center">地区类型</div></td>,rowspan colspan这种方式来实现的。后续在数据库取得的数据,根据每行,列头的width的大小来设置后面所取数据的宽度。

 

2、由于在dreamweaver下面拷贝过来的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">

 

因此如果:

<input type="hidden" name="year" value="<%=stryear %>">

就会提示错误“tag input must be empty”,提示这样的错误

解决方法:

<input type="hidden" name="year" value="<%=stryear %>"/>

3、增加导出excel功能:方法如下:

在原有</table>下面增加:

<input type="hidden" name="year" value="<%=stryear %>"/>   用于传递 "year"参数
 <input type="hidden" name="month" value="<%=strmonth %>"/>   用于传递 "month"参数

<div align="center"><input type="button" align="middle" value="导出到Excel" onclick="check()"/>
</div>
  增加此点击按钮。

check函数实现如下:

 function check(){
  var flag;
  flag = 1; 
  document.form1.action="showview.jsp?flag="+flag;
  document.form1.submit();
 }

通过flag的设置从而,实现跳转。

在此jsp<head>之前对此进行了判断,如果flag标志为1,则实现导出到Excel中实现的功能。

if(request.getParameter("flag").equals("1"))
{
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","attachment; filename=MyExcel.xls");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值