easyexcel解析csv文件

avatar
作者
筋斗云
阅读量:0

背景:接着上一篇下载文件,从ftp下载到csv文件后,解析转换成想要的数据存储数据库,此处设计成用easyexcel读取csv中的数据,并转换成自己想要的格式,这里选easyexcel的原因就是因为简单,下面将逐步解释如何使用以及在使用中需要注意的事项。

引入依赖

        <!--easyExcel-->         <dependency>             <groupId>com.alibaba</groupId>             <artifactId>easyexcel</artifactId>             <version>3.1.2</version>         </dependency>         <!--zip操作-->         <dependency>             <groupId>org.apache.ant</groupId>             <artifactId>ant</artifactId>             <version>1.7.0</version>         </dependency> 

检查文件是否存在

listFiles是上一篇的方法
sourceOpt为真代表存在

List<String> files = sftpHelper.listFiles(sftpPathAll); Optional<String> sourceOpt = files.stream().filter(f -> f.equals(fileName)).findFirst(); 

下载文件

downloadFile是上一篇的方法

sftpHelper.downloadFile(sftpPathAll, fileName, savePathAll); 

解压文件

unZip方法是解压操作

package x.x.infra.util;  import java.io.*; import java.nio.charset.Charset; import java.util.Enumeration;  import lombok.extern.slf4j.Slf4j; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream;  @Slf4j public class ZipFileUtils {         private static int bufferSize = 2048;      /**      * 解压到指定目录      */     public static void unZip(String zipPath, String descDir) throws IOException {             unZip(new File(zipPath), descDir);     }      /**      * 解压文件到指定目录      */     @SuppressWarnings("rawtypes")     public static void unZip(File zipFile, String descDir) throws IOException {             File pathFile = new File(descDir);         if (!pathFile.exists()) {                 pathFile.mkdirs();         }         //解决zip文件中有中文目录或者中文文件 //        ZipFile zip = new ZipFile(zipFile, Charset.forName("GBK"));         ZipFile zip = new ZipFile(zipFile);         for (Enumeration entries = zip.getEntries(); entries.hasMoreElements(); ) {                 ZipEntry entry = (ZipEntry) entries.nextElement();             String zipEntryName = entry.getName();             InputStream in = zip.getInputStream(entry);             String outPath = (descDir + zipEntryName).replaceAll(

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!