jsp中导入导出excel,ssh框架

2020-12-13 02:34

阅读:533

标签:style   blog   class   code   java   ext   

导入Excel:jsp中

soscw.com,搜素材
1 form action="user_importTradingMoney" enctype="multipart/form-data" method="post">
2 label>导入数据
3             input type="file" name="tradingMoneyFile" value="选择文件">
4             input type="submit" value="提交数据">
5             label>
6 form>
soscw.com,搜素材


action中:

action最前面肯定要有下面这几句,而且要有其对应的set、get方法

?
1
2
3
private File tradingMoneyFile;// 实际上传文件
private String tradingMoneyFileContentType; // 文件的内容类型
private String tradingMoneyFileFileName; // 上传文件名

 这是为了通过struts2自动获得上传的文件,当然struts.xml中肯定要有这几句:

soscw.com,搜素材
1 2     3     4     5     
soscw.com,搜素材

文件大小什么的设定自己看着办。。。。

然后action中的importTradingMoney方法如下:

soscw.com,搜素材
 1 //导入交易金额的Excel表
 2     public String importTradingMoney(){
 3         HttpServletRequest request = ServletActionContext.getRequest();
 4         Calendar cal = Calendar.getInstance();
 5         int month = cal.get(Calendar.MONTH);
 6         int year = cal.get(Calendar.YEAR);
 7          jxl.Workbook wb=null;
 8          try {
 9             //InputStream is=new FileInputStream(tradingMoneyFile);//读取存放数据的excel表格在电脑中的路径
10             InputStream is=new FileInputStream(tradingMoneyFile);
11             wb =Workbook.getWorkbook(is);//创建workbook对象,我的理解就是这个整个的excel
12             Sheet s=wb.getSheet(0);//创建sheet,其实就是excel中的每一页,其中的每一张表,他的下标是从0开始的//这里也就是取得第一张表
13             int rsRows=s.getRows();//得到所有的行
14             int rsColumns=s.getColumns();//得到所有的列
15             for(int i=1;i){
16                 String userName=s.getCell(0, i).getContents();//(列,行)
17                 int tradingMoney=Integer.parseInt(s.getCell(1, i).getContents().toString());
18                                 TradingMoney tradingMoneyClass=new TradingMoney();
19                 tradingMoneyClass.setUserName(userName);
20                 tradingMoneyClass.setTradingMoney(tradingMoney);
21                 tradingMoneyClass.setYear(year);
22                 tradingMoneyClass.setMonth(month);
23                 userService.addTradingMoney(tradingMoneyClass);
24             }
25         } catch (FileNotFoundException e) {
26             // TODO Auto-generated catch block
27             e.printStackTrace();
28         } catch (BiffException e) {
29             // TODO Auto-generated catch block
30             e.printStackTrace();
31         } catch (IndexOutOfBoundsException e) {
32             // TODO Auto-generated catch block
33             e.printStackTrace();
34         } catch (IOException e) {
35             // TODO Auto-generated catch block
36             e.printStackTrace();
37         } catch (Exception e) {
38             // TODO Auto-generated catch block
39             e.printStackTrace();
40         }
41          List userList = null;
42         try {
43             userList = userService.selectUser(null, null);
44         } catch (Exception e) {
45             // TODO Auto-generated catch block
46             e.printStackTrace();
47         }
48         request.setAttribute("userList", userList);
49         return "selectUser";
50     }
soscw.com,搜素材

至于excel的导出,我只是简单地把当前页面复制到了excel中:

soscw.com,搜素材
1 @page import="java.text.SimpleDateFormat"%>  
2   
3       SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
4       String filename = new String(("佣金明细-"+sf.format(new Date())).getBytes("utf8"),"ISO-8859-1"); 
5       response.setHeader("Content-disposition","attachment; filename="+filename+".xls"); 
6   %>
soscw.com,搜素材


因为我要复制a.jsp页面的内容到excel中,而a.jsp中的内容又是便利list而出来,如果直接把上面这段代码加入到a.jsp中,那么a.jsp中的内容你就会看不到,这个页面一打开就会让你下载,所以就没有那种先预览再下载的效果了。。。。所以就在a.jsp中加了一个按钮

soscw.com,搜素材
1 input type="button" value="结果导出为Excel" style="width:120px" class="button-action" onclick="toExcel(,‘${request.owerUser.userAccount }‘)"/>
soscw.com,搜素材
soscw.com,搜素材
1 var userIdvar,userAccountvar;
2         function toExcel(userIdvar,userAccountvar){
3 //脚本运行后,将在新窗体newwindow中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。
4 window.open(‘reportUser_selectDetailReportUser?notice=1&userId=‘+userIdvar+‘&userAccount=‘+userAccountvar,‘newwindow‘,‘height=600,width=1200,top=80,left=80,toolbar=no,menubar=no,scrollbars=yes, resizable=yes,location=no, status=no‘);
5         };
soscw.com,搜素材

就是重新发一遍请求到b.jsp中,其内容与a.jsp相同,所以这个b.jsp就不需要打开了。。。一切ok!

jsp中导入导出excel,ssh框架,搜素材,soscw.com

jsp中导入导出excel,ssh框架

标签:style   blog   class   code   java   ext   

原文地址:http://www.cnblogs.com/I-will-be-different/p/3718844.html


评论


亲,登录后才可以留言!