java写一个方法将list中的数据导出到指定目录的excel
时间: 2024-02-05 15:11:37 浏览: 30
可以使用 Apache POI 库来实现将 List 中的数据导出到指定目录的 Excel 文件。以下是一个示例代码:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ListToExcelExporter {
public void export(List<Object[]> dataList, String filePath) {
try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表
var sheet = workbook.createSheet();
// 在工作表中添加数据
int rowIndex = 0;
for (Object[] data : dataList) {
var row = sheet.createRow(rowIndex++);
int cellIndex = 0;
for (Object value : data) {
Cell cell = row.createCell(cellIndex++);
if (value instanceof String) {
cell.setCellValue((String) value);
} else if (value instanceof Integer) {
cell.setCellValue((Integer) value);
} else if (value instanceof Double) {
cell.setCellValue((Double) value);
}
}
}
// 将工作表写入文件
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该方法接受一个 List 对象和一个文件路径作为参数,将 List 中的数据写入到指定的 Excel 文件中。调用该方法的示例代码如下:
```java
List<Object[]> dataList = new ArrayList<>();
dataList.add(new Object[]{"姓名", "年龄", "性别"});
dataList.add(new Object[]{"张三", 25, "男"});
dataList.add(new Object[]{"李四", 30, "女"});
ListToExcelExporter exporter = new ListToExcelExporter();
exporter.export(dataList, "data.xlsx");
```
该示例代码会将一个包含三列数据的表格写入到当前目录下的 data.xlsx 文件中。