java 动态数据导出Excel
时间: 2023-10-17 11:16:16 浏览: 101
在 Java 中,可以使用 Apache POI 库来实现动态数据导出 Excel。下面是一个简单的例子:
```java
import java.io.FileOutputStream;
import java.io.IOException;
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 ExcelExporter {
public static void exportData(String[] headers, String[][] data, String fileName) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet1");
// 创建表头
Row headerRow = sheet.createRow(0);
for (int i = 0; i < headers.length; i++) {
Cell cell = headerRow.createCell(i);
cell.setCellValue(headers[i]);
}
// 填充数据
for (int i = 0; i < data.length; i++) {
Row dataRow = sheet.createRow(i + 1);
for (int j = 0; j < data[i].length; j++) {
Cell cell = dataRow.createCell(j);
cell.setCellValue(data[i][j]);
}
}
// 写入文件
try (FileOutputStream outputStream = new FileOutputStream(fileName)) {
workbook.write(outputStream);
}
}
}
```
在这个例子中,`exportData` 方法接收一个字符串数组 `headers` 和一个字符串二维数组 `data`,分别表示表头和数据。它还接收一个字符串 `fileName`,表示导出的文件名。
在方法内部,先创建了一个 `XSSFWorkbook` 对象和一个 `XSSFSheet` 对象,分别表示 Excel 工作簿和工作表。然后,先创建表头行并填充表头,再循环创建数据行并填充数据。最后,使用 `FileOutputStream` 将工作簿写入文件。
你可以像这样调用 `exportData` 方法:
```java
String[] headers = {"姓名", "年龄", "邮箱"};
String[][] data = {
{"张三", "18", "zhangsan@example.com"},
{"李四", "20", "lisi@example.com"},
{"王五", "22", "wangwu@example.com"}
};
ExcelExporter.exportData(headers, data, "data.xlsx");
```
这样,就会在当前目录下生成一个名为 `data.xlsx` 的 Excel 文件,并包含表头和数据。
阅读全文