struts导出Excel07

struts配置如下:

1 <package name="operation_exportExcel" namespace="/exportExcel" extends="common">
2         <action name="*ExportExcel" class="outAction" method="{1}ExportExcel">
3         </action>
4     </package>

action中的代码如下:

  1 package com.sides.operation.exportExcel;
  2
  3
  4 import java.io.IOException;
  5 import java.io.OutputStream;
  6 import java.io.UnsupportedEncodingException;
  7 import java.util.List;
  8
  9 import javax.servlet.http.HttpServletResponse;
 10
 11 import org.apache.poi.xssf.usermodel.XSSFCell;
 12 import org.apache.poi.xssf.usermodel.XSSFCellStyle;
 13 import org.apache.poi.xssf.usermodel.XSSFFont;
 14 import org.apache.poi.xssf.usermodel.XSSFRow;
 15 import org.apache.poi.xssf.usermodel.XSSFSheet;
 16 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 17 import org.apache.struts2.interceptor.ServletResponseAware;
 18
 19 import com.opensymphony.xwork2.ActionSupport;
 20 import com.sides.operation.hmsorderinfo.HmsOrderInfo;
 21 import com.sides.operation.hmsorderinfo.HmsOrderInfoService;
 22 import com.sides.operation.hmsserviceorder.HmsServiceOrder;
 23 import com.sides.operation.hmsserviceorder.HmsServiceOrderService;
 24 import com.sides.operation.orderTotal.OrderTotal;
 25 import com.sides.operation.orderTotal.OrderTotalService;
 26 import com.sides.operation.serviceOrder.ServiceOrder;
 27 import com.sides.operation.serviceOrder.ServiceOrderAction;
 28 import com.sides.operation.serviceOrder.ServiceOrderService;
 29 import com.sides.pub.utils.ApplicationUtil;
 30 import com.sun.istack.logging.Logger;
 31
 32 public class OutAction extends ActionSupport implements ServletResponseAware{
 33     private OrderTotal orderTotal;
 34     private HmsOrderInfo hmsOrderInfo ;
 35     private ServiceOrder serviceOrder;
 36     private HmsServiceOrder hmsServiceOrder ;
 37     private HttpServletResponse response;
 38     private String fileName;
 39     private static final long serialVersionUID = 1L;
 40     private Logger logger = Logger.getLogger(OutAction.class);
 41
 42     /** 设置响应头*/
 43     public void setResponseHeader(){
 44         try{
 45 //           response.setContentType("application/msexcel;charset=UTF-8");  //两种方法都可以
 46             response.setContentType("application/octet-stream;charset=UTF-8");
 47 //            response.setContentType("application/octet-stream;charset=iso-8859-1");
 48 //            response.setHeader("Content-Disposition", "attachment;filename="
 49 //                    +java.net.URLEncoder.encode(this.fileName, "utf-8"));
 50
 51             response.setHeader("Content-Disposition", "attachment;filename="
 52                     +new String( this.fileName.getBytes("gb2312"), "ISO8859-1") );
 53
 54             //客户端不缓存
 55             response.addHeader("Pargam", "no-cache");
 56             response.addHeader("Cache-Control", "no-cache");
 57         }catch(Exception ex){
 58             ex.printStackTrace();
 59         }
 60     }
 61
 62     /**
 63      * 导出订单excel
 64      */
 65     public String orderExportExcel(){
 66         logger.info("订单汇总表");
 67          this.setFileName("订单汇总表.xlsx");
 68          setResponseHeader();
 69          try {
 70              orderExportExcelData(response.getOutputStream());
 71              response.getOutputStream().flush();
 72              response.getOutputStream().close();
 73          } catch (IOException e) {
 74              e.printStackTrace();
 75          }
 76          logger.info("订单汇总表导出完毕");
 77          return null;
 78     }
 79
 80    /**
 81     * 导出订单Excel数据
 82     * @param os
 83     * @throws IOException
 84     */
 85     private void orderExportExcelData(OutputStream os) throws IOException{
 86
 87         logger.info("订单汇总表    Excel数据处理");
 88
 89         XSSFWorkbook wb = new XSSFWorkbook();
 90
 91          // 创建标题单元格样式
 92         XSSFCellStyle cellStyleTitle = wb.createCellStyle();
 93         // 指定单元格居中对齐
 94         cellStyleTitle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
 95         // 指定单元格垂直居中对齐
 96         cellStyleTitle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
 97         // 指定当单元格内容显示不下时自动换行
 98         cellStyleTitle.setWrapText(true);
 99
100         XSSFCellStyle cellStyle = wb.createCellStyle();
101          // 指定单元格居中对齐
102         cellStyle.setAlignment(XSSFCellStyle.ALIGN_LEFT);
103          // 指定单元格垂直居中对齐
104         cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
105         // 指定当单元格内容显示不下时自动换行
106         cellStyle.setWrapText(true);
107          // ------------------------------------------------------------------
108          // 设置单元格字体
109         XSSFFont titleFont = wb.createFont();
110         titleFont.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
111         titleFont.setFontName("宋体");
112         titleFont.setFontHeight((short) 200);
113
114         XSSFFont font = wb.createFont();
115         font.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL);
116         font.setFontName("宋体");
117         font.setFontHeight((short) 200);
118
119         cellStyleTitle.setFont(titleFont);
120         cellStyle.setFont(font);
121
122          XSSFSheet sheet = wb.createSheet("订单统计信息");
123         XSSFRow row = sheet.createRow(0);
124
125         XSSFCell cell0 = row.createCell(0) ;
126         cell0.setCellValue("订单编号");
127         cell0.setCellStyle(cellStyleTitle);
128
129         XSSFCell cell1 = row.createCell(1) ;
130         cell1.setCellValue("商品名称");
131         cell1.setCellStyle(cellStyleTitle);
132
133
134 //        XSSFCell cell2 = row.createCell(2) ;
135 //        cell2.setCellValue("数量");
136 //        cell2.setCellStyle(cellStyleTitle);
137
138         XSSFCell cell3 = row.createCell(2) ;
139         cell3.setCellValue("产生日期");
140         cell3.setCellStyle(cellStyleTitle);
141
142         /*XSSFCell cell4 = row.createCell(4) ;
143         cell4.setCellValue("接收人姓名");
144         cell4.setCellStyle(cellStyleTitle);
145
146         XSSFCell cell5 = row.createCell(5) ;
147         cell5.setCellValue("联系电话");
148         cell5.setCellStyle(cellStyleTitle);
149
150         XSSFCell cell6 = row.createCell(6) ;
151         cell6.setCellValue("收货方式");
152         cell6.setCellStyle(cellStyleTitle);
153
154         XSSFCell cell7 = row.createCell(7) ;
155         cell7.setCellValue("地址");
156         cell7.setCellStyle(cellStyleTitle);
157
158         XSSFCell cell8 = row.createCell(8) ;
159         cell8.setCellValue("配送时间    ");
160         cell8.setCellStyle(cellStyleTitle);*/
161
162         XSSFCell cell9 = row.createCell(3) ;
163         cell9.setCellValue("订单总价");
164         cell9.setCellStyle(cellStyleTitle);
165
166         XSSFCell cell10 = row.createCell(4) ;
167         cell10.setCellValue("订单状态");
168         cell10.setCellStyle(cellStyleTitle);
169
170         final HmsOrderInfoService hmsOrderInfoService = (HmsOrderInfoService)ApplicationUtil.getBean("hmsOrderInfoServiceImpl");
171         List<HmsOrderInfo> list = hmsOrderInfoService.queryListHmsOrderInfo(hmsOrderInfo) ;
172         for(int i=1;i<=list.size();i++){
173             HmsOrderInfo el = list.get(i-1);
174
175             //String orderDeliver = el.getOrderDeliverStr() == null?"":el.getOrderDeliverStr();
176
177             row = sheet.createRow(i);
178             cell0 = row.createCell(0) ;
179             cell0.setCellValue(el.getOrderNumber());
180             cell0.setCellStyle(cellStyle);
181
182 //            cell1 = row.createCell(1) ;
183 //            cell1.setCellValue(el.getProductName()+"("+el.getProductType()+"L)");
184 //            cell1.setCellStyle(cellStyle);
185
186             cell1 = row.createCell(1) ;
187             cell1.setCellValue(el.getMainPackage());
188             cell1.setCellStyle(cellStyle);
189
190 //            cell2 = row.createCell(2) ;
191 //            cell2.setCellValue(el.getQuantity()+"*"+el.getProType()+"L");
192 //            cell2.setCellStyle(cellStyle);
193
194             cell3 = row.createCell(2) ;
195             cell3.setCellValue(el.getOrderTimeStr());
196             cell3.setCellStyle(cellStyle);
197
198             /*cell4 = row.createCell(4) ;
199             cell4.setCellValue(el.getOrderRecName());
200             cell4.setCellStyle(cellStyle);
201
202             cell5 = row.createCell(5) ;
203             cell5.setCellValue(el.getOrderPhone());
204             cell5.setCellStyle(cellStyle);
205
206             cell6 = row.createCell(6) ;
207             cell6.setCellValue(el.getDeliverTypeStr());
208             cell6.setCellStyle(cellStyle);
209
210             cell7 = row.createCell(7) ;
211             cell7.setCellValue(el.getOrderRecAddress());
212             cell7.setCellStyle(cellStyle);
213
214             cell8 = row.createCell(8) ;
215             cell8.setCellValue(orderDeliver);
216             cell8.setCellStyle(cellStyle);*/
217
218             cell9 = row.createCell(3) ;
219             cell9.setCellValue(el.getOrderTotalPrice());
220             cell9.setCellStyle(cellStyle);
221
222             cell10 = row.createCell(4) ;
223             cell10.setCellValue(el.getOrderStatusName());
224             cell10.setCellStyle(cellStyle);
225
226         }
227
228         for(int j=0;j<11;j++){
229              sheet.autoSizeColumn((short)j); //调整第一列宽度
230         }
231
232         try{
233             wb.write(os);
234         }catch(Exception ex){
235             ex.printStackTrace();
236         }
237         logger.info("订单汇总表    Excel数据处理完毕");
238     }
239
240     /**
241      * 导出服务预约excel
242      */
243     public String appointServiceExportExcel(){
244         logger.info("进入服务预约");
245          this.setFileName("服务预约汇总表.xlsx");
246          setResponseHeader();
247          try {
248              appointServiceExportExcelData(response.getOutputStream());
249              response.getOutputStream().flush();
250              response.getOutputStream().close();
251          } catch (IOException e) {
252              e.printStackTrace();
253          }
254          logger.info("服务预约完毕");
255          return null;
256     }
257
258    /**
259     * 导出订单Excel数据
260     * @param os
261     * @throws IOException
262     */
263     private void appointServiceExportExcelData(OutputStream os) throws IOException{
264
265         logger.info("进入服务预约  Excel处理");
266
267         XSSFWorkbook wb = new XSSFWorkbook();
268
269          // 创建标题单元格样式
270         XSSFCellStyle cellStyleTitle = wb.createCellStyle();
271         // 指定单元格居中对齐
272         cellStyleTitle.setAlignment(XSSFCellStyle.ALIGN_CENTER);
273         // 指定单元格垂直居中对齐
274         cellStyleTitle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
275         // 指定当单元格内容显示不下时自动换行
276         cellStyleTitle.setWrapText(true);
277
278         XSSFCellStyle cellStyle = wb.createCellStyle();
279          // 指定单元格居中对齐
280         cellStyle.setAlignment(XSSFCellStyle.ALIGN_LEFT);
281          // 指定单元格垂直居中对齐
282         cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
283         // 指定当单元格内容显示不下时自动换行
284         cellStyle.setWrapText(true);
285          // ------------------------------------------------------------------
286          // 设置单元格字体
287         XSSFFont titleFont = wb.createFont();
288         titleFont.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
289         titleFont.setFontName("宋体");
290         titleFont.setFontHeight((short) 200);
291
292         XSSFFont font = wb.createFont();
293         font.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL);
294         font.setFontName("宋体");
295         font.setFontHeight((short) 200);
296
297         cellStyleTitle.setFont(titleFont);
298         cellStyle.setFont(font);
299
300          XSSFSheet sheet = wb.createSheet("服务预约统计信息");
301         XSSFRow row = sheet.createRow(0);
302
303         XSSFCell cell0 = row.createCell(0) ;
304         cell0.setCellValue("订单编号");
305         cell0.setCellStyle(cellStyleTitle);
306
307
308         XSSFCell cell1 = row.createCell(1) ;
309         cell1.setCellValue("姓名");
310         cell1.setCellStyle(cellStyleTitle);
311
312         XSSFCell cell2 = row.createCell(2) ;
313         cell2.setCellValue("联系电话");
314         cell2.setCellStyle(cellStyleTitle);
315
316         XSSFCell cell3 = row.createCell(3) ;
317         cell3.setCellValue("预约时间");
318         cell3.setCellStyle(cellStyleTitle);
319
320         XSSFCell cell4 = row.createCell(4) ;
321         cell4.setCellValue("到店时间");
322         cell4.setCellStyle(cellStyleTitle);
323
324         XSSFCell cell5 = row.createCell(5) ;
325         cell5.setCellValue("服务完成时间");
326         cell5.setCellStyle(cellStyleTitle);
327
328         XSSFCell cell6 = row.createCell(6) ;
329         cell6.setCellValue("网点名称");
330         cell6.setCellStyle(cellStyleTitle);
331
332         XSSFCell cell7 = row.createCell(7) ;
333         cell7.setCellValue("网点地址");
334         cell7.setCellStyle(cellStyleTitle);
335
336         XSSFCell cell8 = row.createCell(8) ;
337         cell8.setCellValue("网点电话");
338         cell8.setCellStyle(cellStyleTitle);
339
340         XSSFCell cell9 = row.createCell(9) ;
341         cell9.setCellValue("服务状态");
342         cell9.setCellStyle(cellStyleTitle);
343
344         XSSFCell cell10 = row.createCell(10) ;
345         cell10.setCellValue("主套餐");
346         cell10.setCellStyle(cellStyleTitle);
347
348         XSSFCell cell11 = row.createCell(11) ;
349         cell11.setCellValue("附加套餐");
350         cell11.setCellStyle(cellStyleTitle);
351
352         XSSFCell cell12 = row.createCell(12) ;
353         cell12.setCellValue("车辆品牌");
354         cell12.setCellStyle(cellStyleTitle);
355
356         XSSFCell cell13 = row.createCell(13) ;
357         cell13.setCellValue("车辆型号");
358         cell13.setCellStyle(cellStyleTitle);
359
360         XSSFCell cell14 = row.createCell(14) ;
361         cell14.setCellValue("车辆年款");
362         cell14.setCellStyle(cellStyleTitle);
363
364         XSSFCell cell15 = row.createCell(15) ;
365         cell15.setCellValue("车牌号");
366         cell15.setCellStyle(cellStyleTitle);
367
368         XSSFCell cell16 = row.createCell(16) ;
369         cell16.setCellValue("取车地址");
370         cell16.setCellStyle(cellStyleTitle);
371
372         XSSFCell cell17 = row.createCell(17) ;
373         cell17.setCellValue("送车地址");
374         cell17.setCellStyle(cellStyleTitle);
375
376
377         final HmsServiceOrderService hmsServiceOrderService = (HmsServiceOrderService)ApplicationUtil.getBean("hmsServiceOrderServiceImpl");
378         List<HmsServiceOrder> list = hmsServiceOrderService.queryPTListHmsServiceOrder(hmsServiceOrder);
379
380         //已预约数
381         int yycount = 0 ;
382         //已到店数
383         int ddcount = 0 ;
384         //已服务完数
385         int fwcount = 0 ;
386
387         logger.info("servicestate:"+hmsServiceOrder.getServiceState()+"list.size():"+list.size());
388
389         if(null==hmsServiceOrder.getServiceState()||"".equals(hmsServiceOrder.getServiceState())){
390             hmsServiceOrder.setServiceState(1);
391             List<HmsServiceOrder> yylist = hmsServiceOrderService.queryPTListHmsServiceOrder(hmsServiceOrder);
392             yycount = yylist.size() ;
393             hmsServiceOrder.setServiceState(2);
394             List<HmsServiceOrder> ddlist = hmsServiceOrderService.queryPTListHmsServiceOrder(hmsServiceOrder);
395             ddcount = ddlist.size() ;
396             hmsServiceOrder.setServiceState(3);
397             List<HmsServiceOrder> fwlist = hmsServiceOrderService.queryPTListHmsServiceOrder(hmsServiceOrder);
398             fwcount = fwlist.size() ;
399         }else if(1==hmsServiceOrder.getServiceState()){
400             yycount = list.size() ;
401         }else if(2==hmsServiceOrder.getServiceState()){
402             ddcount = list.size() ;
403         }else if(3==hmsServiceOrder.getServiceState()){
404             fwcount = list.size() ;
405         }
406
407
408
409
410         for(int i=1;i<=list.size();i++){
411
412             HmsServiceOrder el = list.get(i-1);
413             String shoptime = el.getStrShopTime() == null?"":el.getStrShopTime();
414             String completeTime = el.getStrCompleteTime()==null?"":el.getStrCompleteTime() ;
415
416             row = sheet.createRow(i);
417             cell0 = row.createCell(0) ;
418             cell0.setCellValue(el.getOrderNumber());
419             cell0.setCellStyle(cellStyle);
420
421             cell1 = row.createCell(1) ;
422             cell1.setCellValue(el.getReserveName());
423             cell1.setCellStyle(cellStyle);
424
425             cell2 = row.createCell(2) ;
426             cell2.setCellValue(el.getReservePhone());
427             cell2.setCellStyle(cellStyle);
428
429             cell3 = row.createCell(3) ;
430             cell3.setCellValue(el.getStrReserveTime());
431             cell3.setCellStyle(cellStyle);
432
433             cell4 = row.createCell(4) ;
434             cell4.setCellValue(shoptime);
435             cell4.setCellStyle(cellStyle);
436
437             cell5 = row.createCell(5) ;
438             cell5.setCellValue(completeTime);
439             cell5.setCellStyle(cellStyle);
440
441             cell6 = row.createCell(6) ;
442             cell6.setCellValue(el.getServiceName());
443             cell6.setCellStyle(cellStyle);
444
445             cell7 = row.createCell(7) ;
446             cell7.setCellValue(el.getServicePlaceAddress());
447             cell7.setCellStyle(cellStyle);
448
449             cell8 = row.createCell(8) ;
450             cell8.setCellValue(el.getServicePlacePhone());
451             cell8.setCellStyle(cellStyle);
452
453             cell9 = row.createCell(9) ;
454             cell9.setCellValue(el.getServiceStateStr());
455             cell9.setCellStyle(cellStyle);
456
457             cell10 = row.createCell(10) ;
458             cell10.setCellValue(el.getMainPackages());
459             cell10.setCellStyle(cellStyle);
460
461             cell11 = row.createCell(11) ;
462             cell11.setCellValue(el.getAdditPackages()==null?"":el.getAdditPackages());
463             cell11.setCellStyle(cellStyle);
464
465
466             cell12 = row.createCell(12) ;
467             cell12.setCellValue(el.getVehicleBrandStr()==null?"":el.getVehicleBrandStr());
468             cell12.setCellStyle(cellStyle);
469
470             cell13 = row.createCell(13) ;
471             cell13.setCellValue(el.getVehicleSeriesStr()==null?"":el.getVehicleSeriesStr());
472             cell13.setCellStyle(cellStyle);
473
474             cell14 = row.createCell(14) ;
475             cell14.setCellValue(el.getVehicleYearStr()==null?"":el.getVehicleYearStr());
476             cell14.setCellStyle(cellStyle);
477
478             cell15 = row.createCell(15) ;
479             cell15.setCellValue(el.getPlateNo());
480             cell15.setCellStyle(cellStyle);
481
482             cell16 = row.createCell(16) ;
483             cell16.setCellValue(el.getGetcarAddr()==null?"":el.getGetcarAddr());
484             cell16.setCellStyle(cellStyle);
485
486             cell17 = row.createCell(17) ;
487             cell17.setCellValue(el.getSendcarAddr()==null?"":el.getSendcarAddr());
488             cell17.setCellStyle(cellStyle);
489
490         }
491
492         row = sheet.createRow(list.size()+1);
493         cell0 = row.createCell(0) ;
494         cell0.setCellValue("数据统计:");
495         cell0.setCellStyle(cellStyleTitle);
496
497         cell1 = row.createCell(1) ;
498         cell1.setCellValue("预约数:"+yycount);
499         cell1.setCellStyle(cellStyleTitle);
500
501         cell2 = row.createCell(2) ;
502         cell2.setCellValue("服务中数:"+ddcount);
503         cell2.setCellStyle(cellStyleTitle);
504
505         cell3 = row.createCell(3) ;
506         cell3.setCellValue("已服务数:"+fwcount);
507         cell3.setCellStyle(cellStyleTitle);
508
509
510         for(int j=0;j<18;j++){
511              sheet.autoSizeColumn((short)j); //调整第一列宽度
512         }
513
514         try{
515             wb.write(os);
516         }catch(Exception ex){
517             ex.printStackTrace();
518         }
519         logger.info("服务预约  Excel处理完毕");
520     }
521
522     /**记住一定有该属性的set方法*/
523     public void setServletResponse(HttpServletResponse response) {
524         this.response = response;
525     }
526
527     public OrderTotal getOrderTotal() {
528         return orderTotal;
529     }
530
531     public void setOrderTotal(OrderTotal orderTotal) {
532         this.orderTotal = orderTotal;
533     }
534
535     public ServiceOrder getServiceOrder() {
536         return serviceOrder;
537     }
538
539     public void setServiceOrder(ServiceOrder serviceOrder) {
540         this.serviceOrder = serviceOrder;
541     }
542
543     public String getFileName() {
544         return fileName;
545     }
546
547     public void setFileName(String fileName) {
548         this.fileName = fileName;
549     }
550
551     public HmsOrderInfo getHmsOrderInfo() {
552         return hmsOrderInfo;
553     }
554
555     public void setHmsOrderInfo(HmsOrderInfo hmsOrderInfo) {
556         this.hmsOrderInfo = hmsOrderInfo;
557     }
558
559     public HmsServiceOrder getHmsServiceOrder() {
560         return hmsServiceOrder;
561     }
562
563     public void setHmsServiceOrder(HmsServiceOrder hmsServiceOrder) {
564         this.hmsServiceOrder = hmsServiceOrder;
565     }
566
567 }  

jsp代码:

var newUrl = getContextPath()+"/exportExcel/orderExportExcel.action?hmsOrderInfo.orderNumber"+orderNumber+"&hmsOrderInfo.orderStatus="+orderStatus
                +"&hmsOrderInfo.startTime="+d4311 + "&hmsOrderInfo.endTime="+d4312;

    window.open(newUrl);

struts导出Excel07

时间: 2024-08-02 17:47:52

struts导出Excel07的相关文章

Java实现POI导出Excel

Web框架为Struts2,所用jar包如下: ExportExcelAction.java import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.

struts jxl导出Excel

struts2配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>

displaytag的Excel导出实践

本文转自 http://lingceng.iteye.com/blog/1820081/ Displaytag官网有1.0, 1.1, 1.2等,注意找到对应的版本.源码和API可以在Maven库中找到.   常规的使用不是问题,这里说说关于Excel导出的问题,中文乱码,使用POI等.我使用的是Displaytag1.1. 基本导出功能   这种情况只需引入displaytag-1.1.jar.   设置column属性media="html"将不会导出,media="ex

osgi与流行的框架(spring,struts,hibernate等)的集成

1.与流行的 JAVA B/S体系架构的集成 了解了基于osgi系统设计的基本思想,进一步来研究osgi与流行的框架(spring,struts,hibernate等)的集成,这里首先讲解一下集成原理. l        解决和spring的集成 由于spring的应用占据了大部分的java应用领域,所以解决与spring的集成是osgi必须解决的,spring-dm的推出大大促进了两者的结合,有助于osgi进军企业领域. Spring所带来得好处主要有这么两点: 1.       不需要对外的

用jxl导出excel报表

1.在项目中加入jxl.jar包 2.页面是一个from表单,也可以是一个a标签...,示例如下 1 <s:form action="claimVoucherStatistics_createDetailExcel.action" name="queryForm"> 2 <label for="time">年份:</label> 3 <s:property value="year"/&

Struts2+ExtJS+poi导出excel

首先生成Excel import java.io.IOException; import java.io.OutputStream; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.

使用struts2和poi导出excel文档

poi眼下应该是比較流行的操作excel的工具了.这几天做了个struts2和poi结合使用来实现导出excel的功能.个人认为还是比較有用的.代码阅读起来也非常easy.下来就来分享下我的心得 1  struts2的下载excel文件机制 struts2的action中使用poi和输入输出流把二进制数据通过流的形式响应给client.client浏览器作出响应的处理,如弹出文件下载对话框 2  poi的用法 poi解析或生成excel网上资料特别多,这里我就不给出代码了 3 struts文件的

Java中导入导出Excel -- POI技术

一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导入.导出Excel 二.使用Jakarta POI导入.导出Excel Jakarta PO

【SSH】利用struts2 特性 导出excel

1.struts.xml配置 <result name="excel" type="stream"> <param name="contentType"> application/vnd.ms-excel </param> <!-- excelStream fileName 与action中变量名必须相同 --> <param name="inputName">exc