Java集合下载到excel中
时间: 2024-01-21 21:17:24 浏览: 22
你可以使用 Apache POI 库将 Java 集合中的数据导出到 Excel 中。下面是一个简单的示例代码:
```java
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class CollectionToExcelExample {
public static void main(String[] args) throws Exception {
// 创建一个工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表对象
XSSFSheet sheet = workbook.createSheet("Sheet1");
// 创建数据集合
List<Map<String, Object>> data = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
map1.put("gender", "男");
data.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 25);
map2.put("gender", "女");
data.add(map2);
// 创建表头行
Row headerRow = sheet.createRow(0);
Cell cell1 = headerRow.createCell(0);
cell1.setCellValue("姓名");
Cell cell2 = headerRow.createCell(1);
cell2.setCellValue("年龄");
Cell cell3 = headerRow.createCell(2);
cell3.setCellValue("性别");
// 填充数据
int rowIndex = 1;
for (Map<String, Object> rowData : data) {
Row row = sheet.createRow(rowIndex++);
Cell cell4 = row.createCell(0);
cell4.setCellValue((String) rowData.get("name"));
Cell cell5 = row.createCell(1);
cell5.setCellValue((int) rowData.get("age"));
Cell cell6 = row.createCell(2);
cell6.setCellValue((String) rowData.get("gender"));
}
// 将数据写入到文件中
FileOutputStream outputStream = new FileOutputStream("example.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
这个示例中,我们使用了 `XSSFWorkbook` 和 `XSSFSheet` 来创建工作簿和工作表。然后,我们创建了一个数据集合,并将其填充到工作表中。最后,我们将工作簿写入到文件中。你可以根据实际需求对代码进行修改。