poi根据excel模板填充数据,生成新的文件

关于poi填充模板数据 ,要统一excel的格式

比如填充的值单元格没有边框,填充不进去的。

List<MedPersonVo> list = iMedPersonService.queryList(bo);
		Date date=new Date();
		SimpleDateFormat formatter=new SimpleDateFormat("yyyyMMddHHmmss");
		String time=formatter.format(date);
		String name="新冠检测人员登记信息"+time+".xlsx";
         //模板的位置 《--springboot分布式的话,建议模板单独放个项目--》
		String filePath = RuoYiConfig.getDownloadPath() + "新冠导入模板-人.xlsx";
		//生成新文件的位置
		String destPath= RuoYiConfig.getDownloadPath()+name;
		try {


			FileInputStream fileInputStream = new FileInputStream(filePath);
			//读取excel模板
			XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
			//读取第一个工作簿
			XSSFSheet sheet = workbook.getSheetAt(0);
			//设置保留公式
			sheet.setForceFormulaRecalculation(true);
			//定义行与列
			XSSFRow row;
			XSSFCell cell;
			//从第6行开始读取到第12行
			for (int i = 0; i < list.size(); i++) {
				//获取行
				row = sheet.getRow(i + 2);
				//编号
				//System.out.println(i);
				cell = row.getCell(0);
				cell.setCellValue(i+1);
				//条码
				cell = row.getCell(1);
				if (StringUtils.isNotEmpty(list.get(i).getSampleCode())) {
					cell.setCellValue(list.get(i).getSampleCode());
				}

				//姓名
				cell = row.getCell(2);
				if (StringUtils.isNotEmpty(list.get(i).getName())) {
					cell.setCellValue(list.get(i).getName());
				}
				//性别
				cell = row.getCell(3);
				if (StringUtils.isNotEmpty(list.get(i).getSex())) {
					cell.setCellValue(DictUtils.getDictLabel("sys_user_sex", list.get(i).getSex()));
				}
				//年龄
				cell = row.getCell(4);
				if (list.get(i).getAge()!=null) {
					cell.setCellValue(list.get(i).getAge());
				}
				//身份证
				cell = row.getCell(5);
				if (StringUtils.isNotEmpty(list.get(i).getIdNumber())) {
					cell.setCellValue(list.get(i).getIdNumber());
				}
				//申请科室
				cell = row.getCell(6);
				cell.setCellValue("化验科");
				//病人类别
				cell = row.getCell(7);
				if (StringUtils.isNotEmpty(list.get(i).getStatus())) {
					cell.setCellValue(DictUtils.getDictLabel("sys_wo_status", list.get(i).getStatus()));
				}
				//套餐
				cell = row.getCell(8);
				cell.setCellValue("新冠");
				//备注
				//System.out.println(i);
				cell = row.getCell(9);
				if (StringUtils.isNotEmpty(list.get(i).getRemark())) {
					cell.setCellValue(list.get(i).getRemark());
				}
				//申请医生
				cell = row.getCell(10);
				//System.out.println(i);
				if (StringUtils.isNotEmpty(list.get(i).getUserName())){
					cell.setCellValue(list.get(i).getUserName());
				}

			}
			FileOutputStream out = new FileOutputStream(destPath);
			workbook.write(out);
			out.close();
		} catch (IOException ex) {
			ex.printStackTrace();
		}
		AjaxResult ajaxResult = new AjaxResult();
		ajaxResult.setMsg(name);
		ajaxResult.setCode(200);
		return ajaxResult;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值