<!-- Apache POI for Excel file manipulation --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.3</version> <!-- 请使用最新版本 --> </dependency>
package com.wanwei.cloud.business.service.assemble; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class ExcelExportExample { public static void main(String[] args) throws IOException { // 示例数据(使用 ArrayList 来初始化数据) List<String> headers = new ArrayList<>(); headers.add("ID"); headers.add("Name"); headers.add("Age"); headers.add("Address"); // 创建数据行 List<List<Object>> data = new ArrayList<>(); // 创建第一行数据 List<Object> row1 = new ArrayList<>(); row1.add(1); row1.add("John Doe"); row1.add(30); row1.add("1234 Elm St"); data.add(row1); // 创建第二行数据 List<Object> row2 = new ArrayList<>(); row2.add(2); row2.add("Jane Smith"); row2.add(25); row2.add("5678 Oak St"); data.add(row2); // 创建 Excel 工作簿 Workbook workbook = new XSSFWorkbook(); // 创建 Excel 文件(XSSFWorkbook 是 Excel 2007及以后的版本) Sheet sheet = workbook.createSheet("Sheet 1"); // 写入表头 Row headerRow = sheet.createRow(0); for (int i = 0; i < headers.size(); i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(headers.get(i)); // 设置表头数据 } // 写入数据行 int rowIndex = 1; for (List<Object> rowData : data) { Row row = sheet.createRow(rowIndex++); for (int i = 0; i < rowData.size(); i++) { Cell cell = row.createCell(i); Object value = rowData.get(i); 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); } // 可以根据需要添加更多类型的处理 } } // 将 Excel 写入文件 try (FileOutputStream fileOut = new FileOutputStream("E:\\example.xlsx")) { workbook.write(fileOut); } finally { workbook.close(); } System.out.println("Excel 文件已生成!"); } }