前言
在Java中,开发者可以使用一些开源的库(如Apache POI)来添加、修改和处理Excel中的数据:包括数字、文本、日期、列表等。每种数据验证类型都具有不同的参数和选项,可以根据需求进行设置。
本文将为大家介绍如何使用Java添加,修改和删除Excel数据验证。
添加数据验证
指定文本长度
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().add(ValidationType.TextLength, ValidationAlertStyle.Stop, ValidationOperator.Between, 2, 3);
添加日期验证
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
Calendar date1 = new GregorianCalendar(2015, 11, 13);
Calendar date2 = new GregorianCalendar(2015, 11, 18);
sheet.getRange("C2:E4").getValidation().add(ValidationType.Date, ValidationAlertStyle.Stop, ValidationOperator.Between, date1, date2);
删除数据验证
当不想要数据验证的时候,可以调用delete方法删除一片区域(一片单元格)的数据校验,以上面的代码为例。已经在"C2:E4"中添加了数据校验,那可以用下面的代码移除。
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().delete();
修改数据验证
修改数据验证有两种方式:
1. 通过GcExcel提供的接口直接修改(setType,setAlertStyle,setOperator,setFormula1,setFormula2)
//直接修改validation
//修改validation的类型为文本长度
//修改比较类型为介于之间
//修改参数1为10,参数2为20
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
IValidation validation = sheet.getRange("C2:E4").getValidation();
validation.setType(ValidationType.TextLength);
validation.setOperator(ValidationOperator.Between);
validation.setFormula1(10);
validation.setFormula2(20);
2. 先用delete删除,然后再添加。
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
IWorksheet sheet = wb.getActiveSheet();
sheet.getRange("C2:E4").getValidation().delete();
sheet.getRange("C2:E4").getValidation().add(ValidationType.TextLength, ValidationAlertStyle.Stop, ValidationOperator.Between, 2, 3);
数据验证是在数据处理场景中,比较常用的一种功能,用来检验数据处理后或者新填报的数据是否正确。
总结
以上就是如何使用Java操作Excel数据验证的方法,如果您想了解更多的接口方法,可以参考以下在线Demo示例:
https://demo.grapecity.com.cn/documents-api-excel-java/demos/modifyvalidation
GcExcel | 下载试用
GrapeCity Documents for Excel (简称:GcExcel)是一款基于 Java 平台的服务端高性能表格组件,可与纯前端表格控件 SpreadJS 前后端兼容,无需依赖 Office、POI 或第三方应用软件,在前端展示电子表格数据,在服务端批量创建、加载、编辑、打印、导入/导出 Excel 文档,为您开发的应用程序提供在线文档的前后端数据同步、在线填报与服务端批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等一整套类 Excel 全栈解决方案。