前言:
从数据库查到数据,导出来为csv文件,写入指定格式的excel文件,按照某字段分组,将每组数据分别写入对应的sheet中,sheet名称为某字段名称
实现逻辑:
- 定义目录路径变量 directoryPath,表示CSV文件所在的目录路径。
- 创建一个 File 对象 directory,表示目录路径对应的文件对象。
- 通过 File.listFiles() 方法获取目录下所有以 ".csv" 结尾的文件对象数组 csvFiles。
- 创建一个 Csv 对象的列表 totalList,用于存储所有 CSV 文件读取后的数据。
- 如果 csvFiles 不为空,则循环遍历 csvFiles,将每个 CSV 文件读取后的 Csv 对象列表加入到 totalList 中。
- 创建一个 CsvExcel 对象的列表 excelList,用于存储所有 Csv 对象转换为 CsvExcel 对象后的数据。
- 循环遍历 totalList,将每个 Csv 对象转换为 CsvExcel 对象,并加入到 excelList 中。
- 使用 Java 8 的流式操作,将 excelList 按照场地名称分组,生成一个 Map<String, List<CsvExcel>> groupMap。
- 创建一个 ExcelWriter 对象 writer,并指定输出文件路径。
- 循环遍历 groupMap,将每个分组的 CsvExcel 对象列表写入到对应的 sheet 中,并指定 sheet 名称为当前分组的场地名称。
- 完成 Excel 文件的写入操作,关闭 ExcelWriter 对象。
相关代码:
引入easyex