在java中帮忙生成一段excel可以前端导出Excel的代码
时间: 2024-04-12 08:30:06 浏览: 120
java导出excel代码
在Java中生成一个可以前端导出Excel的代码,你可以使用以下的示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
public class ExcelExporter {
public static void exportDataToExcel(HttpServletResponse response) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行对象
Row row = sheet.createRow(0);
// 创建单元格样式
CellStyle headerCellStyle = workbook.createCellStyle();
headerCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 创建标题行
Cell cell = row.createCell(0);
cell.setCellValue("姓名");
cell.setCellStyle(headerCellStyle);
cell = row.createCell(1);
cell.setCellValue("年龄");
cell.setCellStyle(headerCellStyle);
// 写入数据行
row = sheet.createRow(1);
row.createCell(0).setCellValue("张三");
row.createCell(1).setCellValue(25);
row = sheet.createRow(2);
row.createCell(0).setCellValue("李四");
row.createCell(1).setCellValue(30);
// 调整列宽
sheet.autoSizeColumn(0);
sheet.autoSizeColumn(1);
try {
// 设置响应头
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=\"output.xlsx\"");
// 获取输出流
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
workbook.close();
outputStream.close();
System.out.println("Excel导出成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码生成了一个Excel文件,并将其写入到HttpServletResponse的输出流中。通过设置响应头,浏览器会将该文件作为下载文件处理。你可以在Java Web应用中调用`exportDataToExcel`方法,传入`HttpServletResponse`对象,实现前端导出Excel的功能。
请注意,这段代码是基于Java Web应用的场景,需要确保在Web容器中正确配置响应头,并在合适的时机调用`exportDataToExcel`方法。
希望这段代码能够满足你的需求!如果有任何问题,请随时提问。
阅读全文