web项目的上传(导入)、下载(导出)

       一般web项目中都具有上传(导入)、下载(导出)的基本功能。下面谈谈我的实现思路,以及需要注意的地方。

1.上传(导入)

一般是首先通过查询取得一个多记录的数据集合,点<导入>按钮打开导入界面窗口,如下图,在其中输入需要导入的事先按一定格式输入的外部文件(如:exl、txt等文件),点确定,调用后台处理将文件内容数据对应导入到数据库表中存储,或者将文件上传到服务器保存起来。

导入界面的html脚本如下:

                                                      
<form id="importForm" enctype="multipart/form-data" method="post" action="<%=path%>/emp/importEmployeeInfo.do" > <!--注意:此处红字标识的属性必须设置,这样才能保证将表单中的附件数据作为二进制流传输,并通过相应程序解析其中的数据内容做相应的处理-->                                                                                                                                                                                                                                                                   
  <input type="file" id="uploadFile" name="uploadFile"><!--此处为一个文件输入的控件-->
</form>
<input type="button" value="确定" οnclick="saveEmployee();">
<input type="button" value="取消" οnclick="closeForm();">

点<确定>提交给后台的处理方法,这里不详细说了,我的作法提供参考如下:若需要导入数据库表,可以采用commons-fileupload-1.2.1.jar对提交的请求流解析取出相应信息,再使用poi-3.6-20091214.jar提供的一些api函数读取相应格式文件(如exl文件),再调用持久化数据库表的方法处理即可。

2.下载(导出)

一般是首先通过查询取得一个多记录的数据集合,点<导出>按钮后弹出浏览器的下载文件界面,如下图,点确定,调用后台处理将查询数据导出生成指定文件。

 

导出调用的后台程序,不做详细说明,提供参考的方法,即得到查询数据集,再使用poi-3.6-20091214.jar提供的一些api函数写入相应格式的文件(如exl文件)。

需要注意的是后台程序返回给前端的响应response中需要做特殊处理,才能触发浏览器弹出下载窗口,如下:

一般web项目中都具有上传(导入)、下载(导出)的基本功能。下面谈谈我的实现思路,以及需要注意的地方。

1.上传(导入)

一般是首先通过查询取得一个多记录的数据集合,点<导入>按钮打开导入界面窗口,如下图,在其中输入需要导入的事先按一定格式输入的外部文件(如:exl、txt等文件),点确定,调用后台处理将文件内容数据对应导入到数据库表中存储,或者将文件上传到服务器保存起来。

导入界面的html脚本如下:

                                                      
<form id="importForm" enctype="multipart/form-data" method="post" action="<%=path%>/emp/importEmployeeInfo.do" > <!--注意:此处红字标识的属性必须设置,这样才能保证将表单中的附件数据作为二进制流传输,并通过相应程序解析其中的数据内容做相应的处理-->                                                                                                                                                                                                                                                                   
  <input type="file" id="uploadFile" name="uploadFile"><!--此处为一个文件输入的控件-->
</form>
<input type="button" value="确定" οnclick="saveEmployee();">
<input type="button" value="取消" οnclick="closeForm();">

点<确定>提交给后台的处理方法,这里不详细说了,我的作法提供参考如下:若需要导入数据库表,可以采用commons-fileupload-1.2.1.jar对提交的请求流解析取出相应信息,再使用poi-3.6-20091214.jar提供的一些api函数读取相应格式文件(如exl文件),再调用持久化数据库表的方法处理即可。

2.下载(导出)

一般是首先通过查询取得一个多记录的数据集合,点<导出>按钮后弹出浏览器的下载文件界面,如下图,点确定,调用后台处理将查询数据导出生成指定文件。

 

导出调用的后台程序,不做详细说明,提供参考的方法,即得到查询数据集,再使用poi-3.6-20091214.jar提供的一些api函数写入相应格式的文件(如exl文件)。

需要注意的是后台程序返回给前端的响应response中需要做特殊处理,才能触发浏览器弹出下载窗口,如下:

public void exportData(HttpServletRequest request, HttpServletResponse response){                                                                                                                                                                                                                             

  String fileName = "userInfo.xls"; 

  OutputStream os = response.getOutputStream();
   response.setHeader("Content-disposition",  "attachment; filename=" + new String(fileName));
   response.setContentType("application/msexcel");

//  查询取得数据集

//调用poi组件api方法将数据集转换成响应流写入到指定的文件中。

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云焰

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值