Java如何实现批量导出导入数据及附件文件zip包(java,zip,开发技术)

时间:2024-05-04 03:11:49 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Java%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E6%89%B9%E9%87%8F%E5%AF%BC%E5%87%BA%E5%AF%BC%E5%85%A5%E6%95%B0%E6%8D%AE%E5%8F%8A%E9%99%84%E4%BB%B6%E6%96%87%E4%BB%B6zip%E5%8C%85

在上一步生成的Excel文件路径下新建files文件夹,里面存放附件

其中的压缩方法如下:

这里开始想着在不解压的情况下读取里面的文件,结果没有走通。因为zip里面包含了子文件夹里面的附件信息需要解析。不解压直接解析文件适用于只需要解析zip包中第一层文件的场景,如果子文件夹下的文件也需要处理的话,最好解压后再处理。

这里解压遇到了一个问题,之前导出生成的zip包直接导入没问题,但是我把导出的包手动解压后修改了部分数据重新压缩后再导入报错:ZipInputStream解压远程文件报错,java.lang.IllegalArgumentException: MALFORMED

原因:文件名含有中文,zip解析出错

解决方案,如下行代码,在生成ZipInputStream的时候指定编码格式。

ZipInputStream zis = new ZipInputStream(new BufferedInputStream(inputStream), Charset.forName(“GBK”));

注意:这里有个小难点就是File转换成MultipartFile的方法,因为项目中已经有的上传文件是MultipartFile格式的,转换一下就不用在实现一遍上传方法了。

我是用EasyExcel导入Excel文件的,代码很简单,需要注意用EasyExcel导入的Excel文件如果包含多个sheet页,需要写多个导入监听文件。

这一步实现方法跟导出时相同,去掉临时文件。

本文:Java如何实现批量导出导入数据及附件文件zip包的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:kvm透传显卡至win10虚拟机的方法是什么下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18