第一步:将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文件的更多相关文章

  1. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  2. Jquery学习---一键上传

    一键上传 jar包下载 jquery代码 $(function () { $(".uploadfile").upload({ action: 'CourseXMLFileUploa ...

  3. jQuery.uploadify-----文件上传带进度条,支持多文件上传的插件

    借鉴别人总结的uploadify:基于jquery的文件上传插件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,控制文件上传大小,删除已上传文件. uploadify有两个版本,一个用f ...

  4. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  5. HTML中简单实现文件的一键上传的操作

    在html中实现文件上传的方式为form表单中使用input type="file"控件,但是这个控件往往显示不是美观,影响页面效果,这时候,一般就通过一键上传的操作,来实现点击一 ...

  6. ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件

    前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...

  7. jQuery OCUpload ——> 一键上传插件

    OCUpload为jQuery的插件(One Click Upload),意思为一键上传,封装了对于文件上传的一些方法,只需几行代码,文件上传优雅而简洁.      对于传统的文件上传,只是通过inp ...

  8. jquery ocupload一键上传文件应用

    直接上栗子 这是官方文档栗子 var myUpload = $(element).upload({ name: 'file', action: '', enctype: 'multipart/form ...

  9. 使用ocupload和POI一键上传Excel并解析导入数据库

    使用的工具如下:  JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...

随机推荐

  1. e3mall商城的归纳总结4之图片服务器以及文本编辑器

    一.图片服务器 --1.认识图片服务器 大家可能都知道在分布式架构中使用图片上传可能会导致文件存放在某一个项目,而我们的项目基本上都采用集群的方式 ,因此这样会导致图片的问题比较难以存放,在这里我们有 ...

  2. Python开发的入门教程(九)-列表生成式

    介绍 本文主要介绍Python中列表生成式的基本知识和使用 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >&g ...

  3. 【Docker】Docker安装运行dubbo-admin

    运行dubbo-admin服务, 此服务需要单独启动一个zookeeper容器 dubbo-admin将监听所有注册到zookeeper的服务, dubbo-admin默认端口8080 1 运行一个z ...

  4. 深入了解Redis【一】源码下载与参考资料准备

    引言 一直在使用redis,但是却没有系统的了解过它的底层实现,准备边学习边记录,深入了解redis. 打算分析以下几个方面: redis的基本类型及底层原理与java对比,每种数据类型的使用场景 r ...

  5. vue-element-admin改造接入后台,搭建有来商城youlai-mall后台前端管理平台

    一. 前言 本篇基于有来商城youlai-mall微服务项目,搭建后台前端管理平台,技术选型希望通过本篇文章你可以,技术解决方案选择了vue-element-admin.希望通过本篇文章你可以vue- ...

  6. OpenvSwitch系列之六 vlan隔离

    局域网游戏代表:红色警戒 Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令 ...

  7. padding-top:100%解决高度塌陷问题

    <div class="img_box"> <img src="http://sms-shop.oss-cnbeijing.aliyuncs.com/$ ...

  8. 单线程模式从网易下载A股叁仟捌佰支股票一年的交易数据耗时十四分钟

    代码下载:https://files.cnblogs.com/files/xiandedanteng/StockDataDownloader20200305.rar 压缩包内包含股票代号文件,调整好日 ...

  9. 转载 深入理解Nginx及使用Nginx实现负载均衡

    转载:https://developer.51cto.com/art/202001/609322.htm 正向代理是代理客户端,也就是客户端能真正接触到的,比如访问外网时需要使用VPN软件,在这个软件 ...

  10. Kubernetes中资源清单与Pod的生命周期(二)

    一.资源清单 1,定义: 在k8s中一般使用yaml格式的文件来创建符合我们预期的资源,这样的yaml被称为资源清单. 使用资源清单创建Pod: kubectl apply -f nginx.yaml ...