JAVA实现Excel导入

1、引入jar包
compile ‘io.github.mrdear:excel:0.0.7’
2、配置excel.html页面如下

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
    <script>
        $(function () {
            $("#upload").click(function () {
                var formData = new FormData();
                formData.append("myfile", document.getElementById("file1").files[0]);
                $.ajax({
                    url: window.location.origin+"/api/csvUpload",
                    type: "POST",
                    data: formData,
                    /**
                     *必须false才会自动加上正确的Content-Type
                     */
                    contentType: false,
                    /**
                     * 必须false才会避开jQuery对 formdata 的默认处理
                     * XMLHttpRequest会对 formdata 进行正确的处理
                     */
                    processData: false,
                    success: function (data) {
                        if (data.status == "true") {
                            alert("上传成功!");
                        }
                        if (data.status == "error") {
                            alert(data.msg);
                        }
                    },
                    error: function () {
                        alert("上传失败!");
                    }
                });
            });
        });
    </script>
</head>
<body>
选择文件:<input type="file" id="file1" /><br />
<input type="button" id="upload" value="上传" />
</body>
</html>

3、访问页面逻辑

@RequestMapping("/excel")
	public String excel(){
		return "excel";
	}

4、上传处理逻辑:

 @ResponseBody
    @RequestMapping("/excelUpload")
    public BaseResultModel excelUpload(MultipartHttpServletRequest multipartHttpServletRequest) {
        BaseResultModel baseResultModel = new BaseResultModel();
        Iterator<String> fileNames = multipartHttpServletRequest.getFileNames();
        while (fileNames.hasNext()) {
            MultipartFile file = multipartHttpServletRequest.getFile(fileNames.next());
            try(InputStream inputStream = file.getInputStream()) {
                    ExcelReader reader = EasyExcel.read(inputStream);
		            List<XlsInfoClumn> result = reader.resolve(ExcelReadContext.<XlsInfoClumn>builder()
		                    .clazz(XlsInfoClumn.class)
		                    .build());
		           reader.close();
		           baseResultModel.setMessage("上传成功");

            } catch (IOException e) {
                logger.info(e.getMessage());
                baseResultModel.setMessage("上传失败");

            }
        
        }
        return baseResultModel;
    }
/**
 * 
 * excel表格与实体映射关系
 */
public class XlsInfoClumn {

    @ExcelField(columnName = "json")
    private String json;

    public String getJson() {
        return json;
    }

    public void setJson(String json) {
        this.json = json;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值