关于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;