java导出excel表格
2021/7/29 17:05:56
本文主要是介绍java导出excel表格,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本篇所有资源来自于apache官方资源
http://poi.apache.org/components/spreadsheet/quick-guide.html
话不多说,实操,本篇只介绍基础,不涉及业务
1.导入依赖,版本自己选择合适的,不同版本可能方法不同,注意看官方网站
<!--excel表格 --> <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>
2.首先写控制层
@RestController public class ExcelController { @Autowired private ExcelService excelService; @RequestMapping("exportExcelMode") public void exportExcelMode(HttpServletResponse response) { OutputStream outputStream = null; try { outputStream = response.getOutputStream(); response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("用户表" + ".xlsx", "utf-8")); excelService.exportExcelMode(outputStream); } catch (Exception e) { e.printStackTrace(); } } }
2.写导出方法exportExcelMode
@Service public class ExcelService { public void exportExcelMode(OutputStream outputStream){ try { //用来做第一行的标题行 String[] field =new String[]{"序号","用户名","密码"}; //建立工作区 XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表 XSSFSheet sheet = workbook.createSheet("用户册"); //创建第一行 XSSFRow row = sheet.createRow(0); //创建样式 XSSFCellStyle cellStyle = workbook.createCellStyle(); Font font = workbook.createFont(); font.setFontName("宋体"); //设置字体大小 font.setFontHeightInPoints((short) 11); //设置字体样式 cellStyle.setFont(font); cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 cellStyle.setBorderLeft(BorderStyle.THIN);//左边框 cellStyle.setBorderTop(BorderStyle.THIN);//上边框 cellStyle.setBorderRight(BorderStyle.THIN);//右边框 //垂直居中 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //更多样式去官网上看 for (int i=0;i<field.length;i++){ //获取列 XSSFCell cell = row.createCell(i); //给该列设置值 cell.setCellValue(field[i]); //设置该列的样式 cell.setCellStyle(cellStyle); //设置列宽 sheet.setColumnWidth(i,256*30); } //创建第二行 row = sheet.createRow(1); //第二行第一列 XSSFCell cell = row.createCell(0); cell.setCellStyle(cellStyle); cell.setCellValue(1); //第二行第二列 cell = row.createCell(1); cell.setCellStyle(cellStyle); cell.setCellValue("zhangSan"); //第二行第三列 cell = row.createCell(2); cell.setCellStyle(cellStyle); cell.setCellValue("123456"); workbook.setSheetName(0,"用户表"); workbook.write(outputStream); }catch (Exception e){ e.printStackTrace(); }finally { if(outputStream!=null){ try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
3.测试
4.总结
更多的操作,例如合并单元格什么的可以参考官方文档,http://poi.apache.org/components/spreadsheet/quick-guide.html
这部分一般采用循环生成,有数组对象,直接遍历
这篇关于java导出excel表格的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20RabbitMQ教程:新手入门指南
- 2024-11-20Redis教程:新手入门指南
- 2024-11-20SaToken教程:新手入门指南
- 2024-11-20SpringBoot教程:从入门到实践
- 2024-11-20Java全栈教程:从入门到实战
- 2024-11-20Java微服务系统教程:入门与实践指南
- 2024-11-20Less教程:初学者快速上手指南
- 2024-11-20MyBatis教程:新手快速入门指南
- 2024-11-20QLExpress教程:初学者快速入门指南
- 2024-11-20订单系统教程:从入门到实践的全面指南