LoginSignup
0
0

More than 3 years have passed since last update.

Java添加excelデータ検証

Posted at

Excelでは、データ検証を利用してデータの入力に一定の制限条件を加えることができます。たとえば、データ検証の基本設定によって、セルは整数、小数、時間、日付などしか入力できなくなります。プルダウンメニューのオプションも作成できます。この文ではSpire.XLS for Javaを使用したデータ検証を紹介します。


import com.spire.xls.*;

public class ShapeAsImage {
    public static void main(String[] args) {
        // Workbookオブジェクトを作成
        Workbook workbook = new Workbook();

        //最初のシートを取得
        Worksheet sheet = workbook.getWorksheets().get(0);

        //セルB2にデジタル認証を設定します。3-6までの数だけ入力できます
        sheet.getCellRange("B1").setText("Input Number(3-6):");
        CellRange rangeNumber = sheet.getCellRange("B2");
        rangeNumber.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeNumber.getDataValidation().setFormula1("3");
        rangeNumber.getDataValidation().setFormula2("6");
        rangeNumber.getDataValidation().setAllowType(CellDataType.Decimal);
        rangeNumber.getDataValidation().setErrorMessage("Please input correct number!");
        rangeNumber.getDataValidation().setShowError(true);
        rangeNumber.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        //セルB 5に日付認証を設定します。1/1/2020から3/1/2020までの間の日付を入力するだけです
        sheet.getCellRange("B4").setText("Input Date:(1/1/2020 to 3/1/2020)");
        CellRange rangeDate = sheet.getCellRange("B5");
        rangeDate.getDataValidation().setAllowType(CellDataType.Date);
        rangeDate.getDataValidation().setCompareOperator(ValidationComparisonOperator.Between);
        rangeDate.getDataValidation().setFormula1("1/1/2020");
        rangeDate.getDataValidation().setFormula2("3/1/2020");
        rangeDate.getDataValidation().setErrorMessage("Please input correct date!");
        rangeDate.getDataValidation().setShowError(true);
        rangeDate.getDataValidation().setAlertStyle(AlertStyleType.Warning);
        rangeDate.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        //セルB 8で文字長検証を設定します。5文字以内のテキストのみ入力できます
        sheet.getCellRange("B7").setText("Input Text:");
        CellRange rangeTextLength = sheet.getCellRange("B8");
        rangeTextLength.getDataValidation().setAllowType(CellDataType.TextLength);        rangeTextLength.getDataValidation().setCompareOperator(ValidationComparisonOperator.LessOrEqual);
        rangeTextLength.getDataValidation().setFormula1("5");
        rangeTextLength.getDataValidation().setErrorMessage("Enter a Valid String!");
        rangeTextLength.getDataValidation().setShowError(true);
        rangeTextLength.getDataValidation().setAlertStyle(AlertStyleType.Stop);
        rangeTextLength.getCellStyle().setKnownColor(ExcelColors.Gray25Percent);

        sheet.autoFitColumn(2);

        workbook.saveToFile("output/DataValidation.xlsx", ExcelVersion.Version2010);
    }
}

効果図:
DataValidation.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0