报表导出Excel表格.docx
- 文档编号:12933782
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:29
- 大小:18.68KB
报表导出Excel表格.docx
《报表导出Excel表格.docx》由会员分享,可在线阅读,更多相关《报表导出Excel表格.docx(29页珍藏版)》请在冰豆网上搜索。
报表导出Excel表格
JAVA导出excel报表
2010-09-2110:
35:
55|分类:
fileopera|标签:
|举报|字号大中小订阅
packagecom.xdgd.epos.servlet;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.OutputStream;
import.URLEncoder;
importjava.text.ParseException;
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.List;
importjava.util.Locale;
importjavax.servlet.RequestDispatcher;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importorg.apache.log4j.Logger;
importcom.xdgd.epos.exception.NewDBBeanException;
importcom.xdgd.epos.exception.findDBFailException;
importcom.xdgd.epos.pojo.Mer_TransBean;
importcom.xdgd.epos.table.Acl;
importcom.xdgd.epos.table.Mer_Trans;
importcom.xdgd.epos.table.Merchant;
importcom.xdgd.epos.table.Users;
importcom.xdgd.epos.utils.ExportExcel;
/**
*
*报表Servlet类
*/
publicclassReportServletextendsHttpServlet{
privatestaticfinallongserialVersionUID=1L;
publicstaticfinalLoggerlogger=Logger.getLogger(ReportServlet.class);
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
Stringuri=req.getRequestURI();
Stringctx=req.getContextPath();
uri=uri.substring(ctx.length());
Stringmethod=req.getParameter("method");
StringsheetName="商户交易信息";
String[]title={"订单号","建档时间","商戶号","交易金额","订单状态","商户日期","网关号",
"交易类型","货币类型号","银行应答代码","商户私有域","交易状态","终端","对帐日期",
"对账状态"};
HttpSessionsession=req.getSession();
DatebeginDate=null;
DateendDate=null;
StringcxtPath=req.getContextPath();
StringbasePath=req.getScheme()+":
//"+req.getServerName()+":
"
+req.getServerPort()+cxtPath+"/";
synchronized(session){
StringmerId=(String)session.getAttribute("merID");
Usersuser=(Users)session.getAttribute("login");
StringuserName=user.getUserName();
/**
*跳转到导出商户历史交易信息页面
*/
if("toExportHisExcel".equals(method)){
try{
booleanvalue=Acl.OperatorRightModules(user.getUserId(),
uri+"?
method=toExportHisExcel");
if(value==false){
req.getRequestDispatcher("../NoPrivilege.jsp").forward(
req,resp);
return;
}
}catch(findDBFailExceptione1){
e1.printStackTrace();
}
req.getRequestDispatcher("../reportManager/exportHisExcel.jsp")
.forward(req,resp);
}
/**
*跳转到导出商户历史交易信息页面
*/
if("findAllTrans".equals(method)){
try{
booleanvalue=Acl.OperatorRightModules(user.getUserId(),
uri+"?
method=findAllTrans");
if(value==false){
req.getRequestDispatcher("../NoPrivilege.jsp").forward(
req,resp);
return;
}
}catch(findDBFailExceptione1){
e1.printStackTrace();
}
intcurrPage;
intpageSize;
if(req.getParameter("currPage")!
=null
&&!
"".equals(req.getParameter("currPage"))){
currPage=Integer.valueOf(req.getParameter("currPage"));
}else{
currPage=1;
}
if(req.getParameter("pageSize")!
=null
&&!
"".equals(req.getParameter("pageSize"))){
pageSize=Integer.valueOf(req.getParameter("pageSize"));
}else{
pageSize=200;
}
req.setAttribute("currPage",currPage);
req.setAttribute("pageSize",pageSize);
try{
Mer_Transmer_Trans=newMer_Trans();
intbalcStatus=Integer.valueOf(req.getParameter("balcStatus"));
inttransStatus=Integer.valueOf(req.getParameter("transStatus"));
req.setAttribute("balcStatus",balcStatus);
req.setAttribute("transStatus",transStatus);
List
currPage,pageSize,null,null,2,balcStatus,transStatus);
intcount=Mer_Trans.findTransCount();
req.setAttribute("count",count);
if(count%pageSize>0){
req.setAttribute("maxPage",count/pageSize+1);
}else{
req.setAttribute("maxPage",count/pageSize);
}
req.setAttribute("transList",list);
}catch(findDBFailExceptione){
e.printStackTrace();
}
req.getRequestDispatcher(
"../reportManager/showAllTransactions.jsp").forward(
req,resp);
}
/**
*跳转到导出商户当前交易信息页面
*/
if("toExportCurrExcel".equals(method)){
try{
booleanvalue=Acl.OperatorRightModules(user.getUserId(),
uri+"?
method=toExportCurrExcel");
if(value==false){
req.getRequestDispatcher("../NoPrivilege.jsp").forward(
req,resp);
return;
}
}catch(findDBFailExceptione1){
e1.printStackTrace();
}
req
.getRequestDispatcher(
"../reportManager/exportCurrExcel.jsp")
.forward(req,resp);
}
/**
*导出商户历史交易信息,下载到指定位置后删除服务器上的文件
*/
if("exportHisExcel".equals(method)){
try{
booleanvalue=Acl.OperatorRightModules(user.getUserId(),
uri+"?
method=exportHisExcel");
if(value==false){
req.getRequestDispatcher("../NoPrivilege.jsp").forward(
req,resp);
return;
}
}catch(findDBFailExceptione1){
e1.printStackTrace();
}
java.text.SimpleDateFormatformatStr=newjava.text.SimpleDateFormat(
"yyyy-MM-dd",Locale.CHINA);
java.text.SimpleDateFormatformatDate=newjava.text.SimpleDateFormat(
"yyyy年MM月dd日",Locale.CHINA);
Stringxls_name=null;
try{
if(req.getParameter("beginDate")!
=null
&&req.getParameter("beginDate")!
=""){
java.util.DatebDate=formatStr.parse(req
.getParameter("beginDate"));
java.util.DateeDate=formatStr.parse(req
.getParameter("endDate"));
xls_name=formatDate.format(bDate)+"-"
+formatDate.format(eDate);
}
}catch(ParseExceptione1){
e1.printStackTrace();
}
Stringtype=(String)req.getParameter("exportType");
StringmerName=null;
Stringurl=getServletContext().getRealPath("/");
Stringdir=url+"download\\"+userName+"\\";
Stringpath=dir+xls_name;
if(merId==null){
if("single".equals(type)){
merId=req.getParameter("merId");
try{
Merchantmerchant=newMerchant(merId);
merName=merchant.getMerName();
path=path+merName;
}catch(NewDBBeanExceptione){
e.printStackTrace();
}
}else{
merId=null;
merName="所有";
path=path+merName;
}
}
path=path+"商户历史消费记录表.xls";
if(req.getParameter("beginDate")!
=null&&req.getParameter("beginDate")!
=""){
beginDate=java.sql.Date
.valueOf(req.getParameter("beginDate"));
}
if(req.getParameter("endDate")!
=null){
endDate=java.sql.Date.valueOf(req.getParameter("endDate"));
}
ExportExcelexport=newExportExcel();
Filefiledir=newFile(dir);
if(!
filedir.exists()){
filedir.mkdirs();
}
Filefile=newFile(path);
OutputStreamos=null;
try{
try{
os=newFileOutputStream(file);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
intbalcStatus=0;
inttransStatus=0;
if(req.getParameter("balcStatus")!
=null||req.getParameter("balcStatus")!
=""){
balcStatus=Integer.valueOf(req.getParameter("balcStatus"));
}
if(req.getParameter("transStatus")!
=null||req.getParameter("transStatus")!
=""){
transStatus=Integer.valueOf(req.getParameter("transStatus"));
}
List
merId,beginDate,endDate,1,balcStatus,transStatus);
intsize=0;
if(list==null){
}else{
size=list.size();
}
Stringmessage=null;
message="总计:
"+size+"条。
生成条件:
导出从"
+req.getParameter("beginDate")+"到"
+req.getParameter("endDate")+"的交易";
logger.info(user.getUserName()+"开始导出商户["+beginDate
+"-"+endDate+"]历史交易信息!
");
export.exportExcel(os,sheetName,message,title,list);
//客户端下载时显示的名称
Stringfilenamedisplay="商户消费记录表.xls";
//生成文件的文件名(绝对路径)
//获取前台传入的参数
filenamedisplay=URLEncoder.encode(filenamedisplay,
"UTF-8");
resp.reset();
resp.setContentType("application/x-msdownload");
resp.addHeader("Content-Disposition",
"attachment;filename="+filenamedisplay);
OutputStreamoutput=resp.getOutputStream();
FileInputStreamfis=newFileInputStream(path);
byte[]b=newbyte[1024];
inti=0;
while((i=fis.read(b))>0){
output.write(b,0,i);
}
logger.info(user.getUserName()+"导出商户["+beginDate+"-"
+endDate+"]历史交易信息成功!
");
output.flush();
fis.close();
output.close();
if(file.exists()){
file.delete();
}
}catch(Exceptione){
e.printStackTrace();
}finally{
os.flush();
os.close();
}
}
/**
*分页查询商户历史交易信息
*/
if("searchHisTrans".equals(method)||"trans".equals(method)){
try{
booleanvalue=Acl.OperatorRightModules(user.getUserId(),
uri+"?
method=searchHisTrans");
if(value==false){
req.getRequestDispatcher("../NoPrivilege.jsp").forward(
req,resp);
return;
}
}catch(findDBFailExceptione1){
e1.printStackTrace();
}
Stringtype=(String)req.getParameter("type");
if(merId==null){
if("single".equals(type)){
merId=req.getParameter("merId");
req.setAttribute("merId",merId);
}else{
merId=null;
}
}
if(req.getParameter("beginDate")!
=null&&!
"".equals(req.getParameter("beginDate"))){
beginDate=java.sql.Date
.valueOf(req.getParameter("beginDate"));
}
if(req.getParameter("endDate")!
=null){
endDate=java.sql.Date.valueOf(req.getParameter("endDate"));
}
intbalcStatus=Integer.valueOf(req.getParameter("balcStatus"));
inttransStatus=Integer.valueOf(req.getParameter("transStatus"));
req.setAttribute("balcStatus",balcStatus);
req.setAttribute("transStatus",transStatus);
req.setAttribute("type",req.getParameter("type"));
try{
/**
*分页的查询
*/
intcurrPage;
intpageSize;
if(req.getParameter("currPage")!
=null
&&!
"".equals(req.getParameter("currPage"))){
currPage=Integer.valueOf(req.getParameter("currPage"));
}else{
currPage=1;
}
if(req.getParameter("pageSize")!
=null
&&!
"".equals(req.getParameter("pageSize"))){
pageSize=Integer.valueOf(req.getParameter("pageSize"));
}else{
pageSize=200;
}
req.setAttribute("currPage",currPage);
req.setAttribute("pageSize",pageSize);
req.setAttribute("beginDate",beginDate);
req.setAttribute("endDate",endDate);
try{
Mer_Transmer_Trans=newMer_Trans();
List
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报表 导出 Excel 表格