Jquery的一键上传组件OCUpload及POI解析Excel文件
第一步:将js文件引入页面
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery.ocupload-1.1.2.js"></script>
第二步:在页面中提供任意一个元素

第三步:调用插件提供的upload方法,动态修改HTML页面元素
1 <script type="text/javascript">
2 $(function(){
3 //页面加载完成后,调用插件的upload方法,动态修改了HTML页面元素
4 $("#myButton").upload({
5 action:'xxx.action',
6 name:'myFile'
7 });
8 });
9 </script>
第四步:服务费利用同名文件接收
POI需要在项目中引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
1 //使用POI解析
2 HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(regionFile));
3 HSSFSheet sheet = workbook.getSheetAt(0);
4 List<Region> regionList = new ArrayList<Region>();
5 for(Row row : sheet) {
6 int rowNum = row.getRowNum();
7 if(rowNum == 0) {
8 continue;
9 }
10 String id = row.getCell(0).getStringCellValue();
11 String province = row.getCell(1).getStringCellValue();
12 String city = row.getCell(2).getStringCellValue();
13 String district = row.getCell(3).getStringCellValue();
14 String postcode = row.getCell(4).getStringCellValue();
15 //包装成区域对象
16 Region region = new Region();
17 region.setId(id);
18 region.setProvince(province);
19 region.setCity(city);
20 region.setDistrict(district);
21 region.setPostcode(postcode);
22
23 province = province.substring(0, province.length()-1);
24 city = city.substring(0, city.length()-1);
25 district = district.substring(0, district.length()-1);
26 String info = province + city + district;
27 //利用pinyin获得首字母简码
28 String[] headByString = PinYin4jUtils.getHeadByString(info);
29 String shortcode = StringUtils.join(headByString);
30 //城市编码
31 String citycode = PinYin4jUtils.hanziToPinyin(city, "");
32 region.setCitycode(citycode);
33 region.setShortcode(shortcode);
34
35 regionList.add(region);
POI生成Excel文件并下载
1 //分区数据导出
2 public String exportXls() throws IOException {
3 //查询所有数据
4 List<Subarea> subareaList = subareaService.findAll();
5 //利用POI写到Excel中
6 HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
7 //创建标签页
8 HSSFSheet sheet = hssfWorkbook.createSheet("分区数据");
9 //创建行
10 HSSFRow headRow = sheet.createRow(0);
11 headRow.createCell(0).setCellValue("分区编号");
12 headRow.createCell(1).setCellValue("开始编号");
13 headRow.createCell(2).setCellValue("结束编号");
14 headRow.createCell(3).setCellValue("位置信息");
15 headRow.createCell(4).setCellValue("省市区");
16
17 for(Subarea subarea : subareaList) {
18 HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
19 dataRow.createCell(0).setCellValue(subarea.getId());
20 dataRow.createCell(1).setCellValue(subarea.getStartnum());
21 dataRow.createCell(2).setCellValue(subarea.getEndnum());
22 dataRow.createCell(3).setCellValue(subarea.getPosition());
23 dataRow.createCell(4).setCellValue(subarea.getRegion().getName());
24 }
25 //提供下载
26 String filename = "分区数据.xls";
27
28 String contentType = ServletActionContext.getServletContext().getMimeType(filename);
29 ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
30 hssfWorkbook.write(outputStream);
31 //获取客户端浏览器类型
32 String agent = ServletActionContext.getRequest().getHeader("User-Agent");
33 filename = FileUtils.encodeDownloadFilename(filename, agent);
34 //设置响应头
35 ServletActionContext.getResponse().setHeader("content-disposition", "attachment;filename="+filename);
36 //ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");
37 ServletActionContext.getResponse().setContentType(contentType);
38 return NONE;
39 }
Jquery的一键上传组件OCUpload及POI解析Excel文件的更多相关文章
- 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
----------------------------------------------------------------------------------------------[版权申明: ...
- Jquery学习---一键上传
一键上传 jar包下载 jquery代码 $(function () { $(".uploadfile").upload({ action: 'CourseXMLFileUploa ...
- jQuery.uploadify-----文件上传带进度条,支持多文件上传的插件
借鉴别人总结的uploadify:基于jquery的文件上传插件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,控制文件上传大小,删除已上传文件. uploadify有两个版本,一个用f ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- HTML中简单实现文件的一键上传的操作
在html中实现文件上传的方式为form表单中使用input type="file"控件,但是这个控件往往显示不是美观,影响页面效果,这时候,一般就通过一键上传的操作,来实现点击一 ...
- ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...
- jQuery OCUpload ——> 一键上传插件
OCUpload为jQuery的插件(One Click Upload),意思为一键上传,封装了对于文件上传的一些方法,只需几行代码,文件上传优雅而简洁. 对于传统的文件上传,只是通过inp ...
- jquery ocupload一键上传文件应用
直接上栗子 这是官方文档栗子 var myUpload = $(element).upload({ name: 'file', action: '', enctype: 'multipart/form ...
- 使用ocupload和POI一键上传Excel并解析导入数据库
使用的工具如下: JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...
随机推荐
- 【独家】React Native 版本升级指南
前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...
- IDEA的Debug详解
01_Debug简介和意义 什么是程序DeBug? Debug,是程序开发人员必会的一项调试程序的技能. 企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作 ...
- 跨站请求伪造(csrf)的防护手段
CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造. CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求. 造成的问题:个人隐私泄露以及财产安全. CS ...
- 【HttpRunner v3.x】笔记 ——3. 录制生成测试用例
在正式手动编写case之前,我们可以先来熟悉下httprunner的录制生成用例功能. 用postman的童鞋都知道,里面有个功能可以将接口转换成代码,可以直接copy过来使用,提升case编写效率. ...
- 如何让css样式只在当前组件起作用?
当前组件<style>写成<style scoped>
- vue-cli3项目配置eslint代码规范
前言 最近接手了一个项目,由于之前为了快速开发,没有做代码检查.为了使得代码更加规范以及更易读,所以就要eslint上场了. 安装依赖 安装依赖有两种方法: 1. 在cmd中打上把相应的依赖加到dev ...
- Java 序列化界新贵 kryo 和熟悉的“老大哥”,就是 PowerJob 的序列化方案
本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri HelloGitHub 推出的<讲解开源项目>系列. 项目地址: https://github.com/ ...
- 【NOIP2013模拟】七夕祭
题目描述七夕节因牛郎织女的传说而被扣上了「情人节」的帽子.于是TYVJ今年举办了一次线下七夕祭.Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七夕祭和 ...
- 在express中使用ES7装饰器构建路由
在Java的Spring框架中,我们经常会看到类似于@Controller这样的注解,这类代码能够极大的提高我们代码的可读性和复用性.而在Javascript的ES7提案中,有一种新的语法叫做deco ...
- java输出1-100之间的数并求和for+while+do while实现
public static void main(String args[]) {//do while int sum = 0; //当前之和 int i = 1; //加数 do { if (i%2= ...