Java - Excel에서 데이터 유효성 검사를 적용하거나 제거하는 방법
22515 단어 javavalidationexceldata
이 문서에서는 Excel 셀에 다양한 종류의 데이터 유효성 검사(숫자 유효성 검사, 텍스트 길이 유효성 검사, 날짜 유효성 검사, 시간 유효성 검사 및 목록 유효성 검사 포함)를 적용하는 방법과 지정된 셀에서 데이터 유효성 검사를 제거하는 방법을 알아봅니다. Spire.XLS for Java을 사용합니다.
Spire.Xls jar를 종속성으로 추가
Maven 프로젝트에서 작업하는 경우 다음을 사용하여 pom.xml 파일에 종속성을 포함할 수 있습니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.8.4</version>
</dependency>
</dependencies>
maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.
Excel 셀에 데이터 유효성 검사 적용
다음은 Java용 Spire.XLS를 사용하여 다양한 유형의 데이터 유효성 검사를 셀에 추가하는 단계입니다.
import com.spire.xls.*;
public class ApplyDataValidation {
public static void main(String[] args) {
//Create a Workbook object
Workbook workbook = new Workbook();
//Get the first worksheet
Worksheet sheet = workbook.getWorksheets().get(0);
//Insert text in cells
sheet.getCellRange("B2").setText("Input a number:");
sheet.getCellRange("B4").setText("Input a date:");
sheet.getCellRange("B6").setText("Input text:");
sheet.getCellRange("B8").setText("Select an item from the list:");
sheet.getCellRange("B10").setText("Input a time:");
//Add a number validation to C2
CellRange rangeNumber = sheet.getCellRange("C2");
rangeNumber.getDataValidation().setAllowType(CellDataType.Integer);
rangeNumber.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
rangeNumber.getDataValidation().setFormula1("1");
rangeNumber.getDataValidation().setFormula2("10");
rangeNumber.getDataValidation().setInputMessage("Enter a number between 1 and 10");
rangeNumber.getStyle().setKnownColor(ExcelColors.BlueGray);
//Add a date validation to C4
CellRange rangeDate = sheet.getCellRange("C4");
rangeDate.getDataValidation().setAllowType(CellDataType.Date);
rangeDate.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
rangeDate.getDataValidation().setFormula1("1/1/2010");
rangeDate.getDataValidation().setFormula2("12/31/2020");
rangeDate.getDataValidation().setInputMessage("Enter a date between 1/1/2010 and 12/31/2020");
rangeDate.getStyle().setKnownColor(ExcelColors.BlueGray);
//Add a text length validation to C6
CellRange rangeTextLength = sheet.getCellRange("C6");
rangeTextLength.getDataValidation().setAllowType(CellDataType.TextLength);
rangeTextLength.getDataValidation().setCompareOperator(ValidationComparisonOperator.LessOrEqual);
rangeTextLength.getDataValidation().setFormula1("5");
rangeTextLength.getDataValidation().setInputMessage("Enter text lesser than 5 characters");
rangeTextLength.getStyle().setKnownColor(ExcelColors.BlueGray);
//Apply a list validation to C8
CellRange rangeList = sheet.getCellRange("C8");
rangeList.getDataValidation().setValues(new String[] { "United States", "Canada", "United Kingdom", "Germany" }) ;
rangeList.getDataValidation().isSuppressDropDownArrow(false);
rangeList.getDataValidation().setInputMessage("Choose an item from the list");
rangeList.getStyle().setKnownColor(ExcelColors.BlueGray);
//Apply a time validation to C10
CellRange rangeTime = sheet.getCellRange("C10");
rangeTime.getDataValidation().setAllowType(CellDataType.Time);
rangeTime.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
rangeTime.getDataValidation().setFormula1("9:00");
rangeTime.getDataValidation().setFormula2("12:00");
rangeTime.getDataValidation().setInputMessage("Enter a time between 9:00 and 12:00");
rangeTime.getStyle().setKnownColor(ExcelColors.BlueGray);
//Auto fit width of column 2
sheet.autoFitColumn(2);
//Set the width of column 3
sheet.getColumns()[2].setColumnWidth(20);
//Save to file
workbook.saveToFile("ApplyDataValidation.xlsx", ExcelVersion.Version2016);
}
}
산출
Excel 셀에서 데이터 유효성 검사 제거
다음은 Java용 Spire.XLS를 사용하여 지정된 셀에서 데이터 유효성 검사를 제거하는 단계입니다.
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import java.awt.*;
public class RemoveDataValidation {
public static void main(String[] args) {
//Create a Workbook object
Workbook workbook = new Workbook();
//Load a sample Excel file
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\ApplyDataValidation.xlsx");
//Get the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Create an array of rectangles, which is used to locate the ranges in worksheet.
Rectangle[] rectangles = new Rectangle[]{
//One Rectangle(columnIndex, rowIndex) specifies a specific cell,the column or row index starts at 0
//To specify a cell range, use Rectangle(startColumnIndex, startRowIndex, endColumnIndex, endRowIndex)
new Rectangle(2,1),
new Rectangle(2,3),
new Rectangle(2,5),
new Rectangle(2,7),
new Rectangle(2,9)
};
//Remove the data validation from the selected cells
worksheet.getDVTable().remove(rectangles);
//Save the workbook to an Excel file
workbook.saveToFile("RemoveDataValidation.xlsx");
}
}
산출
Reference
이 문제에 관하여(Java - Excel에서 데이터 유효성 검사를 적용하거나 제거하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-apply-or-remove-data-validation-in-excel-1gl0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)