poi写excel使用
程序员文章站
2022-07-13 14:30:23
...
maven
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
控制层
//这个是使用poi将excel传给前端
@GetMapping("/excel")
public ResponseEntity<byte[]> excel() throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor((short) 13);
//设置单元格前景色
//style.setFillForegroundColor((short) 13);
//设置图案样式
//style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
//style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont font = wb.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 16);
//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
//设置单元格合并
//Region region = new Region(0,(short) 0,0,(short) 6);
//sheet.addMergedRegion(region);
//这边为excel中的数据
for (int rownum = 0; rownum < 50; rownum++) {
HSSFRow hssfRow = sheet.createRow(rownum);
for (int cellnum = 0; cellnum < 30; cellnum++) {
HSSFCell cell = hssfRow.createCell((short) cellnum);
cell.setCellValue(rownum + "" + cellnum);
}
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
wb.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
} finally {
outputStream.close();
}
HttpHeaders httpHeaders = new HttpHeaders();
String fileName = new String("测试.xlsx".getBytes("UTF-8"), "iso-8859-1");
httpHeaders.setContentDispositionFormData("attachment", fileName);
httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ResponseEntity<byte[]> filebyte = new ResponseEntity<byte[]>(outputStream.toByteArray(), httpHeaders, HttpStatus.CREATED);
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
outputStream.close();
}
return filebyte;
}
上一篇: easyui datagrid单元格合并
下一篇: 字符串反转