jsp中导入导出excel,ssh框架

导入Excel:jsp中


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>

action中:

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

?





1

2

3

private
File tradingMoneyFile;// 实际上传文件

private
String tradingMoneyFileContentType; // 文件的内容类型

private
String tradingMoneyFileFileName; // 上传文件名

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


1 <constant name="struts.i18n.reload" value="true" />
2 <constant name="struts.configuration.xml.reload" value="true" />
3 <constant name="struts.devMode" value="true" />
4 <constant name=" struts.action.extension" value="action,," />
5 <constant name="struts.multipart.maxSize" value="102400000000000" />

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

然后action中的importTradingMoney方法如下:


 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<rsRows;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<User> 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 }


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


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 %>

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


1 <input type="button" value="结果导出为Excel" style="width:120px" class="button-action" onclick="toExcel(<s:property value=‘#request.owerUser.id‘ />,‘${request.owerUser.userAccount }‘)"/>


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 };

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

时间: 2024-07-29 09:52:27

jsp中导入导出excel,ssh框架的相关文章

从SQL Server中导入/导出 Excel 的基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.

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

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

从SQL Server 2005 中 导入 导出 excel 表格

1.从 数据库 中 导出 excel  表格 定义 一个 gridview1 protected void Button1_Click(object sender, EventArgs e) //倒出数据 {     if (GridView1.Rows.Count == 0)   {       return;    }   else  {       GridView1.AllowPaging = false;//先将数据分页取消,才能全部导出数据      bind(); Export("

C# 中导入/导出 Excel文件

我们经常需要导出电子表格等需要,而微软的电子表格Excel文件几乎是通用的格式了,但是最近开发这个功能的时候,想要使用官方的Microsoft.Office.Interop.Excel却怎么都无法成功,总是各种各样的问题层出不穷,偶然发现一个第三方的组件:Aspose.Cells 介绍地址 这个组件相当的轻松即可完成工作,相关资源: 1. 基本使用方法:http://jingyan.baidu.com/article/73c3ce28f2f78de50343d9e2.html 2. 错误解决办法

asp.net中导入导出Excel

//前端按钮请求 function Out_Excel(TC_ID) { $.post("Ajax/ExportExcel.aspx", { TC_ID: TC_ID }, function (data) { if (data != "") { window.open(data); } }) } ///后端接口处理using System;using System.Collections.Generic;using System.Linq;using System.

基于SSM的POI导入导出Excel实战第一篇-SSM框架的整合

业务背景:在JavaWeb应用开发中,经常需要将应用系统中某些业务数据导出到Excel中,又或者需要将这些业务数据先收集到Excel然后一键导入到系统 业务需求:如何用Java实现导入导出Excel 需求分析:目前流行的Java导入导出Excel的框架有POI跟JXL,这两者的优缺点在这里我就不作比较了,感兴趣的童鞋可以自行搜索了解一下; 技术选型:从本文开始,我将分享一下如何基于SSM框架+POI实现Java应用导入导出Excel,数据库采用mysql5.6,应用服务器采用tomcat7 工具

ASP.NET Core 导入导出Excel xlsx 文件

ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和Mac. EPPlus.Core 是基于EPPlus 更改而来,在Linux 下需要安装libgdiplus . EPPlus:http://epplus.codeplex.com/ EPPlus.Core:https://github.com/VahidN/EPPlus.Core 下面在A

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

基于SSM的POI导入导出Excel实战尾篇-其余功能实战(mvc三层开发模式体验)

业务需求:前几篇基本已经介绍完毕项目的核心功能,即POI导入导出Excel,为了整个项目的完整性,并让诸位童鞋体验体验企业级javaweb应用mvc三层模式的开发流程,本文将介绍一下项目的其余功能,包括搜索,新增,修改,删除 需求分析:作为程序员,在项目中经常接触的就是CRUD了,本篇博文将整合jquery-easyui框架(版本采用1.5.5.4)异步实现上述几个功能,给项目画上一个完整的句号!当然啦,在刚开始开发时,对于自己开发好的后端接口完全可以用Postman进行模拟(我就是这样做的),