`

应用poi导出excel的基本action操作

阅读更多

实体bean(SingleMonthData[set/get]): 

private long  id;
 private long  statYear;
 private long  typeid;
 private String className;
 private Date  lastUpdateTime;
 private String  lastUpdateUser;
 private long  month1;
 private long  month2;
 private long  month3;
 private long  month4;
 private long  month5;
 private long  month6;
 private long  month7;
 private long  month8;
 private long  month9;
 private long  month10;
 private long  month11;
 private long  month12;
 private TotalMonthData MonthData;

 

实体bean(KeyValue/set*/get*):
private String key;
 private String value; 

 

BEAN:

public interface  Constract {
   static final KeyValue [] EXCEL_COLUMN_NAME = {
   new KeyValue("ClassName", "工单类型"),
   new KeyValue("Month1", "1月"),  //Month1...字段,1月,为标题
   new KeyValue("Month2", "2月"),
   new KeyValue("Month3", "3月"),
   new KeyValue("Month4", "4月"),
   new KeyValue("Month5", "5月"),
   new KeyValue("Month6", "6月"),
   new KeyValue("Month7", "7月"),
   new KeyValue("Month8", "8月"),
   new KeyValue("Month9", "9月"),
   new KeyValue("Month10", "10月"),
   new KeyValue("Month11", "11月"),
   new KeyValue("Month12", "12月")
 };
}

 

ACTION:

 

public void exportExcel(HttpServletRequest request,HttpServletResponse response) throws RemoteException,Exception{
      request.setCharacterEncoding("UTF-8");
      response.setContentType("text/json;chartset=UTF-8");
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
      String yearTime = request.getParameter("yearTime")==null?sdf.format(new Date()):request.getParameter("yearTime");
   String classId = request.getParameter("classId")==null?"":request.getParameter("classId");
   String opflag = request.getParameter("opflag")==null?"":request.getParameter("opflag");
   String excelFileName = "";
   HSSFWorkbook hwb;
   IFlowWorkplanStatisticsSV  statisticsValues = (IFlowWorkplanStatisticsSV)ServiceFactory.getService(IFlowWorkplanStatisticsSV.class);
   //open|close
   if("firstpage".equals(opflag)){//totalSum
    IFlowWorkplanStatisticsValue[] fwsBeans = statisticsValues.queryFlowWorkplan(yearTime);
    SingleMonthData[] monthDatas = this.initsMonthDatas(fwsBeans);
    String tmp = yearTime+"年流程工单合计量.xls";
    excelFileName = new String(tmp.getBytes(),"ISO-8859-1");
    hwb = this.grenteExcel(monthDatas,excelFileName);
   }else{
    IFlowWorkplanTranStatisticsValue[] tranStatisticsValues = statisticsValues.queryFlowWorkplanTranStatistics(yearTime, classId);
    IFlowWorkplanStatisticsValue[] fwsBeans = statisticsValues.queryFlowWorkplanGraph(yearTime, classId);
    SingleMonthData[] monthDatas = this.initsMonthDatas(tranStatisticsValues);
    String tmp = yearTime+"年流程"+fwsBeans[0].getClassName()+"工单量.xls";
    excelFileName = new String(tmp.getBytes(),"ISO-8859-1");
    hwb = this.grenteExcel(monthDatas,excelFileName);
   }
   response.reset();
   response.setContentType("contentType=application/vnd.ms-excel");
   response.setHeader("Content-Disposition", "attachment;filename=\"" + excelFileName + "\"");
   hwb.write(response.getOutputStream());
   response.flushBuffer();
    }

    public SingleMonthData[] initsMonthDatas(Object[] obj){
     SingleMonthData[] monthDatas = new SingleMonthData[obj.length];
     if(obj instanceof IFlowWorkplanStatisticsValue[]){
      IFlowWorkplanStatisticsValue[] fwsBeans  =  (FlowWorkplanStatisticsBean[]) obj;

    for(int i=0;i<obj.length;i++){
     SingleMonthData singleMonthData = new SingleMonthData();
     singleMonthData.setClassName(fwsBeans[i].getClassName());
     singleMonthData.setMonth1(fwsBeans[i].getMonth1());
     singleMonthData.setMonth2(fwsBeans[i].getMonth2());
     singleMonthData.setMonth3(fwsBeans[i].getMonth3());
     singleMonthData.setMonth4(fwsBeans[i].getMonth4());
     singleMonthData.setMonth5(fwsBeans[i].getMonth5());
     singleMonthData.setMonth6(fwsBeans[i].getMonth6());
     singleMonthData.setMonth7(fwsBeans[i].getMonth7());

     singleMonthData.setMonth8(fwsBeans[i].getMonth8());
     singleMonthData.setMonth9(fwsBeans[i].getMonth9());
     singleMonthData.setMonth10(fwsBeans[i].getMonth10());
     singleMonthData.setMonth11(fwsBeans[i].getMonth11());
     singleMonthData.setMonth12(fwsBeans[i].getMonth12());
     monthDatas[i] = singleMonthData;
    }
     }else if(obj instanceof IFlowWorkplanTranStatisticsValue[]){
      IFlowWorkplanTranStatisticsValue[] fwsBeans  =  (FlowWorkplanTranStatisticsBean[]) obj;
    for(int i=0;i<obj.length;i++){
     SingleMonthData singleMonthData = new SingleMonthData();
     singleMonthData.setClassName(fwsBeans[i].getTypeName());
     singleMonthData.setMonth1(fwsBeans[i].getMonth1());
     singleMonthData.setMonth2(fwsBeans[i].getMonth2());
     singleMonthData.setMonth3(fwsBeans[i].getMonth3());
     singleMonthData.setMonth4(fwsBeans[i].getMonth4());
     singleMonthData.setMonth5(fwsBeans[i].getMonth5());
     singleMonthData.setMonth6(fwsBeans[i].getMonth6());
     singleMonthData.setMonth7(fwsBeans[i].getMonth7());

     singleMonthData.setMonth8(fwsBeans[i].getMonth8());
     singleMonthData.setMonth9(fwsBeans[i].getMonth9());
     singleMonthData.setMonth10(fwsBeans[i].getMonth10());
     singleMonthData.setMonth11(fwsBeans[i].getMonth11());
     singleMonthData.setMonth12(fwsBeans[i].getMonth12());
     monthDatas[i] = singleMonthData;
    }
     }
     return monthDatas;
    }

  public  HSSFWorkbook grenteExcel(Object[] obj,String fileName){
   ExcelHelper  excelHelper = new ExcelHelper();
   HSSFWorkbook wbWorkbook = excelHelper.item2excel(obj, Constract.EXCEL_COLUMN_NAME,"流程工单量");
   HSSFSheet sheet = wbWorkbook.getSheetAt(0);

   sheet.setColumnWidth((short)0, (short)7000);
   sheet.setColumnWidth((short)1, (short)3000);
   sheet.setColumnWidth((short)2, (short)3000);
   sheet.setColumnWidth((short)3, (short)3000);
   sheet.setColumnWidth((short)4, (short)3000);
   sheet.setColumnWidth((short)5, (short)3000);
   sheet.setColumnWidth((short)6, (short)3000);
   sheet.setColumnWidth((short)7, (short)3000);
   sheet.setColumnWidth((short)8, (short)3000);
   sheet.setColumnWidth((short)9, (short)3000);
   sheet.setColumnWidth((short)10, (short)3000);
   sheet.setColumnWidth((short)11, (short)3000);
   sheet.setColumnWidth((short)12, (short)3000);
   return wbWorkbook;
   }

 

js:

function exportExcel(){
    var opflag = $("#opflag").val();
 var yearTime = $("#yearTime").val();
 var classId = $("#classId").val();
 window.location.href = path+"/business/com.*.statistics.web.action.StatisticsAction?action=exportExcel&yearTime="+yearTime+"&classId="+classId+"&opflag="+opflag;
}

 

 jsp:

<a href="#" onclick="exportExcel();" class="excel">导出成XLS</a>

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    POI导出Excel表格

    以下是关于POI导出Excel表格的相关知识点的详细解释。 1. **Apache POI库**: Apache POI 是一个开源项目,它提供了一组API用于读写Microsoft Office格式的文件,如Excel(XLS,XLSX),Word(DOC,DOCX)和...

    使用poi从数据库导出excel表的示例

    首先,让我们深入理解"struts1"和"poi导出excel"这两个标签。Struts1是Apache软件基金会的一个开源MVC框架,它主要用于构建基于Java的Web应用程序。而Apache POI则是一个用于处理Microsoft Office文档的库,特别是...

    struts2 poi导出到excel

    Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。...以上就是使用Struts2和Apache POI导出数据到Excel的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整和优化。

    java POI导出excel

    这个是利用POI导出excel的源码,需要导入poi包,然后把jsp和action的代码拷贝进去就可以直接运行,很基础的代码,很适合初学者学习。 POI可以自己定义导出excel格式的数据,实例就是这样弄的,希望对初学者有帮助。

    struts2中利用poi导出excel

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

    poi导出Excel

    本篇将详细介绍如何利用 POI 导出 Excel。 首先,你需要在项目中引入 POI 工具包。你可以通过 Maven 或者直接下载 JAR 包来添加依赖。如果你使用 Maven,可以在项目的 `pom.xml` 文件中添加以下依赖: ```xml ...

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

    在这个“struts2+poi导出excel表格完整例子”中,我们将深入探讨这两个工具如何协同工作,实现从Web应用导出数据到Excel电子表格的功能。 首先,让我们了解一下Struts2的工作原理。Struts2基于拦截器(Interceptor...

    struts2+poi实现导出Excel文件

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

    jsp利用POI生成Excel并在页面中导出的示例.docx

    本示例将详细介绍如何在JSP中利用POI库生成Excel文件,并直接在浏览器中导出。 首先,确保在项目中已经引入了Apache POI的依赖库。POI提供了对Excel 2003(HSSF)和Excel 2007以上版本(XSSF)的支持。在这个示例中...

    Java Struts2+poi插件 实现导出Excel

    以上是实现"Java Struts2+poi插件 实现导出Excel"的基本流程。在实际项目中,可能还需要考虑性能优化,如使用模板来减少内存占用,或者处理大数据量时采用分批导出。此外,安全问题也不能忽视,比如防止文件包含漏洞...

    POI导入导出excel

    描述中提到的"poi导入导出excel文件,项目绝对可以运行,只要将项目导入myeclipse中直接在浏览器中输入http://localhost:8080/strutspoi即可运行",意味着这是一个基于Struts的Web应用程序,它已经集成了Apache POI...

    ssh整合poi导入导出Excel

    导出Excel的步骤大致如下: 1. 创建一个新的Workbook对象,根据Excel版本选择HSSFWorkbook或XSSFWorkbook。 2. 创建Sheet对象,表示Excel的一个工作表。 3. 在Sheet中创建Row对象,表示一行数据。 4. 在Row中创建...

    poi导入导出excel

    总结起来,Apache POI 提供了强大的工具来处理 Excel 文件,无论是从数据库导出数据到 Excel,还是从 Excel 导入数据到应用程序。通过理解这些核心概念和方法,开发者可以灵活地构建功能丰富的 Excel 导入导出功能,...

    struts2+poi 实现Excel导出

    在导出Excel的场景中,Action通常会负责接收用户请求,处理业务逻辑,并将结果返回给用户。 2. **Apache POI库**:Apache POI提供了HSSF(Horrible Spreadsheet Format)和XSSF(Extensible Spreadsheet Format)两...

    struts2导出Excel poi

    在Struts2中,Action可以通过Result返回不同的视图,比如JSP、XML或流文件,这正是我们导出Excel所需的。 接下来,我们引入Apache POI。POI提供了读写Microsoft Office文件的API,对于Excel,主要使用HSSFWorkbook...

    struts2+poi实现excel表格导出

    - 创建Action:首先,我们需要在Struts2中创建一个Action类,该类包含一个方法,负责执行导出Excel的操作。 - 构建Excel:在Action的方法中,使用Apache POI创建HSSFWorkbook对象,代表Excel工作簿。接着,添加...

    在struts中利用poi组件导出excel

    二、Struts中使用POI导出Excel步骤 1. 引入依赖:在项目的pom.xml文件中添加Apache POI的相关依赖,确保能够使用POI的API。 ```xml &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi &lt;version&gt;4.1.2 &lt;groupId&gt;org....

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

    这个Action类会有一个方法,专门处理导入或导出Excel的操作。例如,你可以定义一个`importExcel`方法来接收上传的Excel文件,以及一个`exportExcel`方法用于生成并下载Excel文件。 2. **上传文件**: Struts2支持...

    struts2+poi实现excel文件的导出

    Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...

    POI+struts2导出Excel

    标题中的“POI+struts2导出Excel”是指使用Apache POI库与Struts2框架结合,实现在Web应用程序中导出数据到Excel的功能。Apache POI是Java平台上的一个开源项目,它允许开发者创建、修改和显示Microsoft Office格式...

Global site tag (gtag.js) - Google Analytics