java对excel操作导入导出

操作EXCEl

1.解析excel
@GetResource(path = "/importExcel", name = "解析excel", requiredPermission = false, requiredLogin = false)
    @ApiOperation(value = "解析 excel")
    public ResponseData importExcel(@RequestParam(name = "filePath") String filePath) throws ParseException {
        File file = new File(filePath);
        ImportParams params = new ImportParams();
        //设置表头
        params.setHeadRows(2);
        //开启验证
        params.setNeedVerify(true);
        params.setVerifyHandler(verifyHandler);
        ExcelImportResult<BookVo> result = null;
        try {
            result = ExcelImportUtil.importExcelMore(file, BookVo.class, params);
        } catch (Exception e) {
            log.error("解析文件错误:", e.toString());
            return ResponseData.error("解析文件错误!");
        }
        //校验成功的集合
        List<BookVo> successList = result.getList();
        //校验失败的集合
        List<BookVo> failList = result.getFailList();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for (BookVo bookVo : failList) {
            bookVo.setRowNumTitle("第" + (bookVo.getRowNum() + 1) + "行");
            bookVo.setCreateTime(sdf.parse(sdf.format(new Date())));
        }
        Map map = new HashMap();
        map.put("successList", successList);
        map.put("failList", failList);
        return ResponseData.success(map);
    }
2添加数据库
  @PostResource(path = "/importData", name = "Excel导入", requiredPermission = false, requiredLogin = false)
    @ApiOperation(value = "添加数据库")
    public ResponseData addData(@RequestBody List<Book> bookList) {
        bookService.addData(bookList);
        return ResponseData.success();
    }
3.上传导入的模板文件
 @PostResource(path = "/uploadExcel", name = "上传文件", requiredPermission = false, requiredLogin = false)
    @ApiOperation("上传文件")
    public ResponseData uploadExcel(@RequestPart MultipartFile file) {
        String name = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
        String filePath = "";
        //上传的导入模板文件
        filePath = FileUtil.fileUp(file, UploadPath, name);
        return ResponseData.success(filePath);
    }
4.导出Excel
 @PostResource(path = "/exportExcel", name = "导出图书列表", requiredPermission = false, requiredLogin = false)
    @ApiOperation("导出图书列表")
    public void exportCustomExcel(@RequestBody BookParam param, HttpServletResponse response) {
        List<BookVo> list = bookService.getList(param);
        ExportParams params = new ExportParams("图书列表导出", "图书列表导出", ExcelType.HSSF);
        params.setStyle(ExcelStyleUtil.class);
        params.setHeight((short) 16);
        params.setTitleHeight((short) 16);
        Workbook workbook = ExcelExportUtil.exportExcel(params, BookVo.class, list);
        try {
            FileUtil.setExportExcelFormat(response, workbook, "图书列表");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
5.下载模板文件
	@GetResource(path = "/downLoadFile", name = "下载文档模板", requiredPermission = false, requiredLogin = false)
    @ApiOperation("下载文档模板")
    public void downLoadFile(HttpServletResponse response) {
        String path = bookImportTemplate;
        FileUtil.downloadStream(response, path, "UTF-8");
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值