springboot项目导出excel表格案例

it2024-06-22  40

项目中需求是将订单详情导出excel 话不多说,直接看流程

1 .引用依赖

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency>

2.实现业务

public void excelDownload(Long orderId, HttpServletResponse response) throws IOException { Map<String, String> map = secondSellOrderDao.findSellOrderInfoExcel(orderId); // 这是根据自己的业务获取数据, HSSFWorkbook workbook = new HSSFWorkbook(); // 创建工作簿 HSSFSheet sheet = workbook.createSheet("送货单"); // 给工作簿命名 sheet.setColumnWidth(1,6350); // 这个api是设置你指定的列的宽度,第一个是列数,第二是大小,列数从0开始 sheet.setColumnWidth(7,4350); sheet.setColumnWidth(9,4350); sheet.setColumnWidth(10,4350); // 创建表头行 HSSFRow row = sheet.createRow(0); row.setHeight((short) 580); // 设置当前行的高度 row.setRowNum(0); HSSFCell cell = row.createCell(2); // 获取当前行的第三列 CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 2, 6); // 合并列 // new CellRangeAddress(起始行, 结束行, 起始列, 结束列) (参数是坐标,起始行,结束行,起始列,结束列) sheet.addMergedRegion(cellRangeAddress); HSSFRichTextString textHeader = new HSSFRichTextString("输入当前列的内容"); // 表头 HSSFFont font = workbook.createFont(); // 这个东西是设置字体样式的 font.setFontHeightInPoints((short)26); // 设置数据字体大小 textHeader.applyFont(font); cell.setCellValue(textHeader); // 将表头内容填入列中 cell.setAsActiveCell(); // 准备将excel的输出流通过response输出页面下载 response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;filename="+orderId+".xls"); // 刷新缓冲 response.flushBuffer(); //workbook将Excel写入到response的输出流中,供页面下载 workbook.write(response.getOutputStream()); //return new Result(true,StatusCode.OK,"导出成功"); }
最新回复(0)