java 使用alibaba.excel 把list<Map(string,Object)>数据写入excel 多个sheet
时间: 2024-02-23 07:01:48 浏览: 172
java将数据导入多个excel并压缩,亲测可用
您可以使用阿里巴巴的easyexcel库来将Java List<Map<String, Object>>数据写入Excel的多个sheet中。下面是一个简单的示例代码:
```java
import java.io.FileOutputStream;
import java.util.List;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.WriteWorkbook;
public class WriteToExcel {
public static void writeExcel(List<List<Map<String, Object>>> data, String[] sheetNames, String fileName) {
try (FileOutputStream outputStream = new FileOutputStream(fileName)) {
WriteWorkbook writeWorkbook = EasyExcel.write(outputStream).build();
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(writeWorkbook);
for (int i = 0; i < data.size(); i++) {
WriteSheet writeSheet = EasyExcel.writerSheet(i, sheetNames[i]).build();
excelWriterBuilder.sheet().doWrite(data.get(i));
}
excelWriterBuilder.build();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个方法可以接受一个List<List<Map<String, Object>>>参数,其中每个内部List表示一个sheet的数据,而每个Map表示每一行的数据。它还需要一个String数组来指定每个sheet的名称,以及一个String参数来指定保存文件的名称和路径。您可以在每个Map中添加任何类型的数据,例如String或Integer等。
需要注意的是,阿里巴巴的easyexcel库需要您在pom.xml文件中添加相应的依赖。在使用时您需要在代码中导入相应的类。
阅读全文