文档章节

excel文件上传解析

o
 osc_wws45aot
发布于 2019/08/20 15:50
字数 311
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

pom文件依赖:poi处理excel文件上传下载

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>

页面:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" th:src="@{/static/jquery-1.9.1.min.js}"></script>
    <script type="text/javascript" th:src="@{/static/jquery.ocupload-1.1.2.js}"></script>

    <script type="javascript">
        $(function () {
            $("#upload_confirm").upload({
                action: '/upload',
                name: 'file'
            });
        })

    </script>
</head>
<body>
   <form th:action="@{/upload}" enctype="multipart/form-data" th:method="post">
       上传文件:<input type="file" name = "file">
       <input type="submit" value="提交">
   </form>
</body>
</html>

  后台接收

@RequestMapping("/upload")
    @ResponseBody
    public String upload(MultipartFile file) throws Exception{
        if(file == null){
            System.out.println("上传文件为空");
        }
        System.out.println("上传文件:00");
        updataExamineService.upload(file);
        return "成功";
    }

  service层

@Override
    public int upload(MultipartFile file) throws Exception{
        //判断excel文件是03版本还是07版本
        String extention = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 获取文件后缀
        String prefix=fileName.substring(fileName.lastIndexOf("."));
        final File excelFile = File.createTempFile(UUID.randomUUID().toString(), prefix);
        // MultipartFile to File
        file.transferTo(excelFile);
        //这个是07版本
        XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(excelFile));
        //这个是03版本
        //HSSFWorkbook  workbook2 = new HSSFWorkbook();
        //获取文件中的表格
        Sheet sheet = workbook.getSheetAt(0);
        for(Row row : sheet){
            if(row.getRowNum() == 0){
                continue;//过滤标题行
            }
            String name = row.getCell(0).getStringCellValue();
            String code = row.getCell(1).getStringCellValue();
            Double rId = row.getCell(4).getNumericCellValue();
            Integer rId2 = rId.intValue();
            System.out.println("营销员姓名:"+name+" ,获取的code:"+code+",获取的销服人员Id:"+rId2);
 
        }

        return 0;
    }

  

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
java上传excel文件及解析

java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一、准备工作   1.1 文件上传插件:swfupload;   1.2 文件上传所需jar包:commons-fileupload-1.3.1.jar和c...

osc_qvzk8wey
2018/03/05
2
0
Springboot导入Excel(使用POI)

在工作的业务中,有时候需要我们获取导入的excel里面的数据,来自动生成系统数据。其实实现的原理并不复杂,只需要使用Http协议的MultiFile将文件上传到服务器,然后利用POI的HSSFWorkbook来...

osc_20n6g71c
2019/11/29
8
0
从零开始实现放置游戏(六)——实现后台管理系统(4)Excel批量导入

  前面我们已经实现了在后台管理系统中,对配置数据的增删查改。但每次添加只能添加一条数据,实际生产中,大量数据通过手工一条一条添加不太现实。本章我们就实现通过Excel导入配置数据的...

丶谦信
06/11
0
0
Excel数据上传

分析:基于文件上传,数据文件格式Excel(解析操作) 1.1如何上传批量数据表格 需要注意事项: 1.必须同步提交form表单(区域表的提交) 2.Form表单的编码方式 multipart/formdata 3.提交方式...

osc_0jg1hma8
2018/02/25
4
0
abp_vue导入导出excel

后端abp,前端vue导入excel,开始准备用直接用npoi,觉得要写太多的代码,就算从以前的复制粘贴也麻烦,所以偷懒直接用别人的轮子Magicodes.IE。这样可以节省很多工作,根据实体生成excel模板...

osc_h9x23mw1
2019/12/06
15
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux系统检查用户账户到期时间

如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登...

老孟的Linux私房菜
11分钟前
9
0
关于南京哪里有开餐饮费发票?

关于南京哪里有开餐饮费发票?聚焦餐饮行业,谈话〖18 7一電一7 5 3 8一徴一3331〗研究院昨发布数据显示,今年上半年,全国餐饮行业招聘需求增长46.18%,平均月薪6387元.随着餐饮行业的快速...

点击fojewio
44分钟前
7
0
android studio 4.0 打开DDMS

1、先找到AndroidStudio配置的SDK路径; 2、在SDK的/tools/路径下有个monitor.bat 的批处理文件; 3、鼠标连续点击两下monitor.bat这个批处理文件,在屏幕上会打开一个类似CMD的命令行中输入...

chenhongjiang
46分钟前
10
0
如何在Android中使用SharedPreferences来存储,获取和编辑值

问题: Closed . 已关闭 。 This question needs to be more focused. 这个问题需要更加集中。 It is not currently accepting answers. 它当前不接受答案。 Learn more . 了解更多 。 Want...

fyin1314
56分钟前
6
0
【JDK1.8】LinkedList源码分析

LinkedList的特性 LinkedList内部使用双向链表作为存储结构,LinkedList可以理解为链表的扩展对象,封装了常用的和非常用的操作链表的方法。以及在通过索引获取元素时的简单优化,通常Linke...

XuePeng77
今天
36
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部