在 EasyExcel 中,导出 CSV 格式并分多个 Sheet 页的方式与导出 Excel 格式基本相同。以下是使用 EasyExcel 导出 CSV 并分 Sheet 页的示例代码:
public void exportToCsvWithMultipleSheets(List<List<String>> data, List<String> sheetNames) {
try (CSVWriter csvWriter = new CSVWriter(new FileWriter("output.csv"))) {
ExcelWriter excelWriter = new ExcelWriterBuilder()
.file(csvWriter)
.excelType(ExcelTypeEnum.CSV)
.build();
for (int i = 0; i < data.size(); i++) {
String sheetName = sheetNames.get(i);
List<String> sheetData = data.get(i);
Sheet sheet = new Sheet(i, 0);
sheet.setSheetName(sheetName);
excelWriter.write(sheet, sheetData);
}
excelWriter.finish();
} catch (IOException e) {
e.printStackTrace();
}
}
上述代码中,data
是一个包含多个 Sheet 数据的列表。每个 Sheet 的数据是一个字符串列表,表示该 Sheet 中每一行的数据。
sheetNames
是一个包含每个 Sheet 名称的列表,用于指定每个 Sheet 的名称。
在函数中,我们首先创建一个 CSVWriter
对象,用于将数据写入 CSV 文件。然后,通过 ExcelWriterBuilder
构建一个 ExcelWriter
对象,并将 CSVWriter
对象传入 file()
方法中。
接下来,使用 for
循环遍历每个 Sheet 的数据和名称。在循环中,创建一个 Sheet
对象,并设置 sheetName
。然后使用 excelWriter.write()
方法将该 Sheet 的数据写入文件。
最后,使用 excelWriter.finish()
完成写入操作,并关闭资源。
请注意,导出 CSV 格式时,无法根据样式格式化单元格或应用其他 Excel 特性,因为 CSV 是一种简单的纯文本格式。此示例仅适用于导出原始数据到 CSV 格式的不同 Sheet 页。
标签:CSV,Sheet,easyexcel,导出,new,excelWriter,sheet,csv,CSVWriter From: https://blog.51cto.com/u_16007699/7494478