github编辑

Java 后端将上传的 csv 文件转为 Excel xlsx 文件

一、概述

本地文件是 csv格式,将其转成 xlsx 或者 xls

二、实现步骤

2.1 获取 csv 文件数据

由于前端的上传文件的数据类型是 MultipartFile,所以就通过获取输入流的方式读取到 CsvReader 对象中。

然后将所有 csv数据一行一行的存入到 ArrayList 动态数组中。

    /**
     * 获取 csv 数据
     * @author 云胡
     * @param multipartFile
     * @throws IOException
     */
    public ArrayList<String[]> getCsvDataList(MultipartFile multipartFile) throws IOException{
        // 存放所有的 csv 文件数据
        ArrayList<String[]> csvDataList = new ArrayList<>();

        // 文件的编码,这里设为 utf-8
        CsvReader reader = new CsvReader(multipartFile.getInputStream(), ',', Charset.forName("utf-8"));

        // 获取数据
        while (reader.readRecord()) {
            csvDataList.add(reader.getValues());
        }
        // 关闭
        reader.close();
        return csvDataList;
    }

2.2 生成 Excel xlsx 文件

最后更新于