java poi教程_Java完成POI的功能

/***Controller层操作,省略service和dao*/@Controller@RequestMapping("/excel")publicclassExcelController{@AutowiredExcelServiceexcelService;@RequestMapping("/")publicStringtoIndex(){return"excel";}@ResponseBody@RequestMapping("/download/{way}")publicStringexcelFileDownload(@PathVariableStringway,HttpServletResponseresponse)throwsIOException{Workbookwb=null;Stringfilename=ExcelUtil.FILE_NAME;if(ExcelUtil.EXCEL_XLS.equals(way)){wb=newHSSFWorkbook();filename+=".xls";}elseif((ExcelUtil.EXCEL_XLSX.equals(way))){wb=newXSSFWorkbook();filename+=".xlsx";}Sheetsheet=wb.createSheet("角色表");ExcelUtil.createTitle(wb,sheet);//从数据库查出数据 List tRoles = excelService.getAllRoles(); //记录新增行数据 int rowNum = 1; for (TRole tRole : tRoles) { Row row = sheet.createRow(rowNum); row.createCell(0).setCellValue(tRole.getId()); row.createCell(1).setCellValue(tRole.getName()); row.createCell(2).setCellValue(tRole.getAge()); rowNum++; } //生成excel文件(在当前文件夹下) //ExcelUtil.buildExcelFile(filename, wb); //浏览器下载excel ExcelUtil.buildExcelFile(filename, wb, response); wb.close(); return "File downloaded successfully"; } @ResponseBody @RequestMapping("/upload") public String excelFileUpload(MultipartFile file) throws IOException { Workbook wb = null; List tRoleList = new ArrayList<>(); if (!ExcelUtil.isExcelXlsx(file.getOriginalFilename()) && !ExcelUtil.isExcelXls(file.getOriginalFilename())) { return "The file must be of excel type"; } if (file.getOriginalFilename() == null || file.getOriginalFilename().equals("") || file.getSize() == 0) { return "The file cannot be empty"; } try { if (ExcelUtil.isExcelXlsx(file.getOriginalFilename())) { wb = new XSSFWorkbook(file.getInputStream()); } else { wb = new HSSFWorkbook(file.getInputStream()); } //获取第一张表(默认就设置成1张表吧) Sheet sheet = wb.getSheetAt(0); //获取行数 int rowsNum = sheet.getPhysicalNumberOfRows(); //遍历行 for (int i = 0; i < rowsNum; i++) { //标题行省略 if (i == 0) { continue; } Row row = sheet.getRow(i); //遍历每行的单元格// for (int j=0;j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值