`
robbln
  • 浏览: 18167 次
  • 性别: Icon_minigender_1
  • 来自: 四川成都
社区版块
存档分类
最新评论

struts+jxl

阅读更多
TestXL.jsp

<!---->
<!---->

   DownLoad

<script>
function  printAll(){
   location.href="<%=request.getContextPath()%>/downloadAction.do";
}
</script>

 

ExcelBean:

import  java.io.*;
import  jxl.*;
import  jxl.write.*;
import  jxl.format.*;
import  java.util.*;
import  javax.servlet.http.HttpServletResponse;

/*
用于Struts结构中的Excel文件写操作,当但击“导出按钮”时可以直接在客户端导出Excel文件并提示保存
使用方法:
在action类中加入:
ExcelBean  eb  =  new  ExcelBean();
if(vect.size()>0){
   eb.exportToExcel(response,  fname,  sheetname,  titles,  vect);  //调用生成excel文件bean
}
参数:
response:action类中的HttpServletResponse;
filename:要生成的保存的缺省的Excel文件名
sheetname:要保存的工作表的名称
titles:工作表中的表格横向标题
vect:数据行
*/

public  class  ExcelBean  {
       public  ExcelBean()  {}
       public  boolean  exportToExcel(HttpServletResponse  response,String  filename,String  sheetname,String[]  titles,Vector  vect)  throws  Exception  {
               OutputStream  os  =  null;
               boolean  b1  =  true  ;
               try  {
                       os  =  response.getOutputStream();  //取得输出流
                       response.reset();  //清空输出流
                       response.setHeader("Content-disposition","attachment;  filename="  +  filename  +  ".xls");  //设定输出文件头
                       response.setContentType("application/msexcel");  //定义输出类型
               }  catch  (IOException  ex)  {
                       b1=  false;
                       System.out.println("流操作错误:"+ex.getMessage());
               }
               WritableWorkbook  workbook  =  null;
               try  {
                       //创建新的Excel  工作簿
                       workbook  =  Workbook.createWorkbook(os);
                       //在Excel工作簿中建一工作表,其名为:第一页
                       jxl.write.WritableSheet  wsheet  =  workbook.createSheet(sheetname,  0);  //sheet();
                       WritableFont  font  =  new  WritableFont(WritableFont.ARIAL,  14,
                                                                                                 WritableFont.BOLD,  false,
                                                                                                 jxl.format.UnderlineStyle.
                                                                                                 NO_UNDERLINE,
                                                                                                 jxl.format.Colour.BLACK);
                       WritableCellFormat  format  =  new  WritableCellFormat(font);
                       for  (int  i  =  0;  i  <  titles.length;  i++)  {
                               Label  wlabel1  =  new  Label(i,  0,  titles[i],  format);  //行、列、单元格中的文本、文本格式
                               wsheet.addCell(wlabel1);
                       }
                       font  =  new  jxl.write.WritableFont(WritableFont.createFont("宋体"),  12,
                                                                                           WritableFont.NO_BOLD,  false,
                                                                                           jxl.format.UnderlineStyle.
                                                                                           NO_UNDERLINE,
                                                                                           jxl.format.Colour.BLACK);
                       format  =  new  jxl.write.WritableCellFormat(font);
                       for  (int  i  =  0;  i  <  vect.size();  i++)  {  //  在索引0的位置创建行(最顶端的行)
                               String[]  sdata  =  (String[])  vect.elementAt(i);
                               for  (int  j  =  0;  j  <  sdata.length;  j++)  {  //在索引0的位置创建单元格(左上端)
                                       Label  wlabel1  =  new  Label(j,  i,  sdata[j],  format);  //行、列、单元格中的文本、文本格式
                                       wsheet.addCell(wlabel1);
                                       System.out.println(sdata[j]  +  ":::"  +  sdata[j]);
                               }
                       }
                       workbook.write();  //写入文件
               }  catch  (WriteException  ex1)  {
                       b1  =  false;
                       System.out.println("WriteException:"+ex1.getMessage());
               }  catch  (IOException  ex2)  {
                       b1  =  false;
                       System.out.println("IOException:"+ex2.getMessage());
               }
               workbook.close();
               os.close();
               return  b1;
       }
}

 

DownloadAction:

import  org.apache.struts.action.*;
import  javax.servlet.http.*;
import  com.segsec.base.ExcelBean;
import  com.segsec.data.basedata;
import  java.util.Vector;

/**
 *  

Title:DownloadAction  


 *  

Description:  QRRSMMS  


 *  

Copyright:  Copyright  (c)  2004  jiahansoft


 *  

Company:  jiahansoft


 *  @author  wanghw
 *  @version  1.0
 */

public  class  DownloadAction  extends  Action  {
       public  ActionForward  execute(ActionMapping  mapping,
                                                                 ActionForm  form,
                                                                 HttpServletRequest  request,
                                                                 HttpServletResponse  response)  throws  Exception  {
               basedata  databean  =  new  basedata();
               Vector  vect  =  new  Vector();
               boolean  b1=  false;
               try  {
                       String  fname  =  "test";  //Excel文件名
                       String[]  titles  =  {"车牌号",  "车辆类型",  "用户帐号",  "车台号"};  //标题
                       String  sheetname  =  "车辆列表";
                       ExcelBean  eb  =  new  ExcelBean();
                       vect  =  databean.QuerySimilarVehicleInfoByAdminer();
                       if(vect.size()>0){
                               b1  =  eb.exportToExcel(response,  fname,  sheetname,  titles,  vect);  //调用生成excel文件bean
                       }
               }  catch  (Exception  e)  {
                       System.out.println(e);
               }
               if(b1){
                       return  mapping.findForward("display");
               }else{
                       return  mapping.findForward("failure");
               }
       }
}

 

basedata:

import  java.sql.PreparedStatement;
import  java.util.Vector;
import  java.sql.DriverManager;
import  java.sql.ResultSet;
import  java.sql.Connection;

public  class  basedata  {
       public  Vector  QuerySimilarVehicleInfoByAdminer(){
           Vector  vect  =    new  Vector();
           int  i  =  0;
           Connection  conn  =  null;
           PreparedStatement  pstam  =null;
           ResultSet  rs  =null;
           String  url  =  "jdbc:oracle:thin:@90.0.8.2:1521:ORCL";
           String  username  =  "gisap";
           String  password  =  "1";
           String  drivers  =  "oracle.jdbc.driver.OracleDriver";
 
           String  sqlStr  =  "SELECT    V.NUMBER_PLATE,v.vehicletype,A.ADMINER,U.CALL_LETTER  "
                                       +"  FROM          T_ADMINER_UNIT  AU,T_ADMINER  A,T_VEHICLE  V,T_UNIT  U  "
                                       +"  WHERE        A.ADMINERID=AU.ADMINERID"
                                       +"    AND        A.ADMINER  ='master'  "
                                       +"    AND        AU.UNITID  =  U.UNITID  "
                                       +"    AND        U.UNITID  =  V.UNITID  "
                                       +"  ORDER  BY  V.NUMBER_PLATE  ";
           try{
               Class.forName(drivers);
               conn  =  DriverManager.getConnection(url,  username,  password);
               pstam  =  conn.prepareStatement(sqlStr);
               rs  =  pstam.executeQuery();
               int  collength  =  rs.getMetaData().getColumnCount();
               while  (rs.next())  {
                   collength  =  rs.getMetaData().getColumnCount();
                   String[]  rowdata  =  new  String[collength];
                   for  (int  k  =  1;  k  <=  collength;  k++)  {
                       rowdata[k  -  1]  =  rs.getString(k);  //new  String(rs.getString(k).getBytes("ISO-8859-1"),  "GBK");  //
                   }
                   vect.add(rowdata);
               }
           }catch(Exception  e){
               System.out.println("QuerySimilarVehicleInfoByAdminer  Error!"+e.getMessage());
           }
           finally{
               try{
                   rs.close();
                   pstam.close();
                   conn.close();
               }catch(Exception  e){}
           }
           return  vect;
       }
       public  static  void  main(String[]  args)  {
               basedata  basedata  =  new  basedata();
       }
}
分享到:
评论

相关推荐

    网上银行系统Struts+hibernate+jxl

    在本项目中,“网上银行系统Struts+hibernate+jxl”采用了经典的Java Web开发技术栈,包括Struts框架、Hibernate持久化框架以及jxl库,这三者共同构建了一个功能强大的后台管理系统。 首先,Struts是一个开源的MVC...

    struts2+jxl导出excel

    在"struts2+jxl导出excel"的场景中,我们将讨论如何利用Struts2框架与JXL库配合,实现从web应用中导出数据到Excel的工作。 首先,我们需要理解Struts2的动作(Action)和结果(Result)。动作是处理用户请求的核心...

    Struts2+JXL 下载 Excel 文档

    在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户通过浏览器访问特定URL,Struts2框架接收到请求后,会路由到相应的Action。Action内部会利用...

    struts2+poi+jxl

    Struts2是一个基于MVC(Model-View-...综上所述,结合Struts2、POI和JXL,我们可以构建出强大的数据导入导出功能,以及动态生成和下载Excel报表的Web应用。这对于数据驱动的业务来说,提供了极大的便利性和灵活性。

    [转]java struts2+jxl生成并导出Excel

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建应用程序,而JXL则是一个Java库,用于读取、写入和修改Excel电子表格文件。这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成...

    struts2+jxl图片上传,io流

    总结起来,这个项目利用Struts2框架实现了图片的上传功能,通过Jakarta Multipart解析器处理大文件,同时结合jxl库,可以进一步处理Excel文件,满足了在Web应用中进行文件操作的需求。这个组合在实际开发中非常实用...

    SSH+JXL 下载 Excel 文档

    标题 "SSH+JXL 下载 Excel 文档" 涉及到的是在Java开发中,使用Spring、Struts2框架以及JXL库来实现Excel文件的下载功能。SSH(Spring、Struts2、Hibernate)是Java领域常见的MVC架构,而JXL是一个流行的Java库,...

    S2SH+jxl.jar实现导出Excel文档

    本文将详细介绍如何利用Struts2、Hibernate(简称S2H)结合jxl.jar库来实现在Web应用中导出Excel文件的功能。 #### 二、环境搭建与准备工作 1. **项目搭建**: - 创建一个新的Struts2项目。 - 配置好Struts2和...

    spring+struts+hibernate+dwr+jstl做的实例

    api.jar jxl.jar itext-1.3.jar poi-2.5.1.jar cos.jar velocity-1.5.jar velocity-tools-view-1.3.jar commons-codec.jar antlr.jar commons-beanutils.jar commons-digester.jar...

    struts2整合apache的jxl导入导出excel表格

    Struts2 框架与 Apache 的 JXL 库整合,可以方便地实现在 Java Web 应用中导入和导出 Excel 表格的功能。Apache JXL 是一个强大的 Java 库,专门用于读写 Microsoft Excel 文件,使得开发者无需依赖 Office API 就能...

    Struts2+Excel导出Demo,测试可用带JAR包

    Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发中,它提供了灵活的控制层结构,使得开发者能够构建可维护性和可扩展性极强的Web应用程序。Excel则是一种流行的电子表格软件,常用于数据...

    jxl+struts2下载execl创建多个sheet

    jxl+struts2下载execl创建多个sheet

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

    7. **部署与运行**: 下载项目后,你需要将所有依赖的库(如Struts2、POI或JXL的jar文件)添加到项目的类路径中,然后将项目部署到支持Servlet容器(如Tomcat)的服务器上,根据提示修改Excel文件路径,即可运行程序...

    struts2.0+hibernate3.1+spring2.0实例源码里的jar2

    5. `jxl.jar`:JExcelAPI是另一个处理Excel文件的库,可能在这个项目中作为POI的替代或者补充。 6. `struts.jar`:这可能是Struts1的库,因为Struts2的jar文件通常以`struts2-`开头。 7. `mysql-connector-java-...

    spring3+struts2.2+hibernate3框架包

    正在使用的java web项目中的SSH框架包,这些包没有冲突,是基于spring3+struts2.2+hibernate3的,还有jdbc驱动、mysql连接驱动jdbc包、mail包、dwr包、upload.jar包等。

    jxl报表 代码应用

    【标题】"jxl报表 代码应用"涉及的是在Java编程环境中使用jxl库来创建和处理Excel报表的实践案例,特别关注的是如何在SSH(Struts、Hibernate、Spring)框架下集成jxl进行数据展示。 【描述】"jxl实现的SSH架构的...

    struts2导出excel java 导出excel JXL

    struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包

    JAVA WEB典型模块与项目实战大全.part4

    第19章 生成保表(Struts 2.X+Hibernate+JXL) 第20章 数据格式转换(Struts 2.X+Hibernate+Dom4j) 第21章 用户维护功能(Struts 2.X+iBATIS) 第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战...

    JAVA WEB典型模块与项目实战大全.part2(第二卷)

    第19章 生成保表(Struts 2.X+Hibernate+JXL) 第20章 数据格式转换(Struts 2.X+Hibernate+Dom4j) 第21章 用户维护功能(Struts 2.X+iBATIS) 第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战...

    JAVA WEB典型模块与项目实战大全.part3(第三卷)

    第19章 生成保表(Struts 2.X+Hibernate+JXL) 第20章 数据格式转换(Struts 2.X+Hibernate+Dom4j) 第21章 用户维护功能(Struts 2.X+iBATIS) 第22章 用户登录模块(Struts 2.X+Guice+国际化) 第3篇 项目案例实战...

Global site tag (gtag.js) - Google Analytics