场景

SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/88660466

需求

在进行导入时,在导入数据库之前需要进行格式的验证,格式不正确则将单元格背景色设置为红色。

实现

主要实现代码

CellStyle style =  workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);deliveryTimeCell.setCellStyle(style);

示例代码

Workbook workbook = null;
//获取文件格式
String fileType = path.substring(path.lastIndexOf(".") + 1, path.length());
InputStream stream = new FileInputStream(path);
//如果后缀名为xls,使用HSSF
if (fileType.equals("xls")) {workbook = new HSSFWorkbook(stream);//如果后缀名是xlsx,使用XSSF}else if (fileType.equals("xlsx")){workbook = new XSSFWorkbook(stream);}
Sheet sheet= workbook.getSheet("sheet1");
//获取行数
int rows=sheet.getPhysicalNumberOfRows();
//获取第二行数据
Row row2 =sheet.getRow(1);
if(row2!=null){
//日期格式加校验
Cell deliveryTimeCell = row2.getCell(3);
if(deliveryTimeCell!=null){
//如果是数值类型if(deliveryTimeCell.getCellType()==0){if(HSSFDateUtil.isCellDateFormatted(deliveryTimeCell)){//获取送货日期Date deliveryTime =deliveryTimeCell.getDateCellValue();receiveOrder.setDeliveryTime(deliveryTime);}else{//设置送货时间为红色CellStyle style =  workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);deliveryTimeCell.setCellStyle(style);isValidatePass=false;}}else{//设置送货时间为红色CellStyle style =  workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);deliveryTimeCell.setCellStyle(style);isValidatePass=false;}
}

输出设置后的excel

FileOutputStream fileOut = new FileOutputStream(path);workbook.write(fileOut);fileOut.close();

示例效果

颜色参照表

Java中对POI的单元格设置背景色相关推荐

  1. apache poi斜边框线_apache poi合并单元格设置边框

    HSSFWorkbook wb = newHSSFWorkbook(); HSSFSheet sheet=wb.createSheet();//创建一个样式 HSSFCellStyle styleBo ...

  2. C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色

    2019独角兽企业重金招聘Python工程师标准>>> <ComponentOne Studio for WPF下载> 对于C1FlexGrid,如何给单元格设置样式(包 ...

  3. apache poi合并单元格设置边框

    HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet();//创建一个样式 HSSFCellStyle style ...

  4. 如何将EXCEL表格中整列的单元格设置成文本格式

    第一步:选中要修改的列 第二步:点击上方数据,找分列后点击 第三步:点击下一步,再点击一次下一步 第四步:选择文本后点击完成即可 第五步:测试,单元格内容是数字时坐上角会看到一个小标志,则表示修改成功

  5. jxl操作excel(合并单元格,设置背景色,字体颜色)

    现在正在做的项目中涉及大量的Excel文件导出导入操作,都是使用Java Excel来操作. Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Exce ...

  6. 【VBA】给单元格设置背景色

    Cells(1, 1).Font.ColorIndex = 3 '  字的色号为3 红色 Cells(1, 1).Interior.ColorIndex = 3 ' 背景的色号为3 红色 Cells( ...

  7. el-table 给单元格设置背景色

    目录 1. 效果图 2. 使用官网 cell-style 3.  (el-table 绑定) 上代码 4. js 部分(方法) 1. 效果图 2. 使用官网 cell-style 3.  (el-ta ...

  8. POI按照源单元格设置目标单元格格式

    原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单 ...

  9. java excel 单元格类型,POI Excel 单元格内容类型判断并取值

    个人用到的 String birthdayVal = null; switch (cell_2.getCellTypeEnum()) { case STRING: birthdayVal = cell ...

最新文章

  1. 墨奇科技汤林鹏:如何用 AI 技术颠覆指纹识别?
  2. 简陋的会计凭证金额输入控件
  3. 心电图心电轴怎么计算_浅谈心电图
  4. hibernate的HQL查询语言总结
  5. Fragment 与 Fragment 相互传值
  6. mysql_real_escape_string 报错_addslashes与mysql_real_escape_string的区别
  7. 看透这个世界--数据封装与解封装过程
  8. Apache Storm技术实战之3 -- TridentWordCount
  9. Oracle11使用现在数据库文件,oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库...
  10. redis cluster所有节点IP修改处理方案
  11. 深入理解JavaScript系列
  12. MATLAB希尔伯特Hilbert变换求包络谱
  13. Sovit3D三维可视化开发工具动画定义新功能
  14. 题解 P1550 【[USACO08OCT]打井Watering Hole】
  15. PyQt5 第六章 拖拽和绘画(二)
  16. 【浅谈爬虫】一名合格的Python爬虫工程师必须具备技能—具体了解四大Python爬虫分类以及爬虫基本原理实现
  17. php判断股票涨停,竞价预期战法:涨停板次日集合竞价图是否符合预期的短线判断技术(图解)...
  18. 洗礼灵魂,修炼python(51)--爬虫篇—变色龙般的伪装
  19. 输入手机号查询信息C语言,简单个人电话号码查询系统.doc
  20. 《流浪地球》硬核科技:为什么电影情节根本不可能实现?

热门文章

  1. activemq配置与启动
  2. 计算机无法屏幕亮度,电脑屏幕亮度无法调节怎么办
  3. iphone电池怎么保养_怎么保持iPhone的电池健康?掌握这4个方面,3年不用换电池...
  4. 中运用_胶水在木雕中的运用技巧
  5. git 怎么读_python3中开源代码怎么读?
  6. java 参数 string_关于Java中String类型的参数传递问题
  7. 一、MySQL日志与备份
  8. android之http协议编程(源码ppt),Android网络编程(八)源码解析OkHttp中篇[复用连接池]...
  9. adxl276怎么添加到proteus中_奶粉中的营养强化剂和食品添加剂是怎么一回事?
  10. 无法为您重置MySQL密码_无法重置MySQL的root密码