java poi excel写流方式导出
时间: 2023-08-04 21:28:09 浏览: 42
您好,以下是使用POI将Excel通过流方式导出的Java代码示例:
```java
public void exportExcel(List<Object[]> dataList, OutputStream out) {
// 创建一个工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表
XSSFSheet sheet = workbook.createSheet("Sheet1");
// 创建表头行
XSSFRow headerRow = sheet.createRow(0);
// 设置表头
String[] headers = new String[] {"列1", "列2", "列3"};
for (int i = 0; i < headers.length; i++) {
XSSFCell cell = headerRow.createCell(i);
cell.setCellValue(headers[i]);
}
// 填充数据
for (int i = 0; i < dataList.size(); i++) {
Object[] rowData = dataList.get(i);
XSSFRow row = sheet.createRow(i + 1);
for (int j = 0; j < rowData.length; j++) {
XSSFCell cell = row.createCell(j);
cell.setCellValue(String.valueOf(rowData[j]));
}
}
// 输出到流
try {
workbook.write(out);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上示例中,通过`XSSFWorkbook`创建了一个工作簿,通过`XSSFSheet`创建了一个工作表,通过`XSSFRow`创建了表头行和数据行,通过`XSSFCell`创建了单元格,并设置了单元格的值。最后通过`workbook.write(out)`将工作簿输出到指定的输出流中。