2

一度作成してダウンロードすると、ユーザーが特定の列に空のセルを入れることが許可されない Excel ファイルを作成しています (入力した情報を使用して再度送信するため)。

で使用POI HSSFDataValidationしていsetEmptyCellAllowed(false)ます。
ただし、ユーザーがファイルをダウンロードするときは、空のセルを残すことができます (テキストを書いて削除した後)。

助言がありますか?

これが私のコードです:

HSSFDataValidation dv = new HSSFDataValidation();
dv.setFirstColumn((short)19);
    dv.setLastColumn((short)19);
    dv.setFirstRow((short)4);
    dv.setLastRow((short)24);
    dv.setDataValidationType(DVConstraint.ValidationType.INTEGER);
    dv.setOperator(DVConstraint.OperatorType.BETWEEN);
    dv.setDataValidationType(HSSFDataValidation.DATA_TYPE_INTEGER);
    dv.setOperator(HSSFDataValidation.OPERATOR_BETWEEN);
    dv.setFirstFormula("0");
    dv.setSecondFormula("1000");
    //dv.setEmptyCellAllowed(true);
    dv.setEmptyCellAllowed(false);
    dv.setShowPromptBox(true);
    dv.setSurppressDropDownArrow(false);
    dv.setErrorStyle(HSSFDataValidation.ERROR_STYLE_STOP);
    //dv.createErrorBox("", "");
    //dv.createPromptBox("", "");
    sheet.addValidationData(dv);
4

1 に答える 1

0

これはあなたの質問に直接答えているわけではありませんが、ユーザーがセルを空白のままにしている場合は、try と catch ブロックを使用して自分でセルに何かを書き込むことができます。

于 2014-03-03T08:39:44.207 に答える