第一步:将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. MPI计算π

    MPI计算\(\pi\) 利用公式 \[\int_0^1 \frac{4}{1+x^2}dx = \pi \] #include<stdio.h> #include<mpi.h> ...

  2. B - The Staircases (dp)

    One curious child has a set of N little bricks. From these bricks he builds different staircases. St ...

  3. Azure Blob (三)参数设置说明

    一,引言 上一篇将 Azure Blob 存储的时候,有使用到一个 .NET  Core Web 项目,通过代码的方式进行操作 Azure Blob 的数据,接着上一篇的内容,今天继续看一下代码,具体 ...

  4. Linux平台Zabbix Agent的安装配置

    这里简单总结一下Linux平台Zabbix Agent的安装配置,实验测试的Zabbix版本比较老了(Zabbix 3.0.9),不过版本虽然有点老旧,但是新旧版本的安装步骤.流程基本差别不大.这里的 ...

  5. 剑指offer 07 & LeetCode 105 重建二叉树

    题目 题目链接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/ 初步题解 先放代码: /** * Definition for ...

  6. Class 文件结构及深入字节码指令

    JVM的无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的“一次编写,到处运行” https://www.oracl ...

  7. SpringMVC-结果跳转方式

    结果跳转方式 目录 结果跳转方式 1. ModelAndView 2. ServletAPI 3. SpringMVC实现 1. 无需视图解析器 2. 使用视图解析器 1. ModelAndView ...

  8. Windows+Git+TortoiseGit+COPSSH安装图文教程

    http://blog.csdn.net/aaron_luchen/article/details/10498181/ http://jingyan.baidu.com/article/3a2f7c2 ...

  9. JZOJ1495 宝石

    Description 见上帝动了恻隐之心,天后也想显示一下慈悲之怀,随即从口袋中取出一块魔术方巾,让身边的美神维纳斯拿到后堂的屏风上去试试,屏风是正方形的,高和宽方向上各划有m条鱼屏风的边平行的直线 ...

  10. 解Bug之路-串包Bug

    解Bug之路-串包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug.现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少 ...