タイトルのように: XSSFDataValidationHelper のメソッド createFormulaListConstraint("...") を使用して DataValidationConstraint を追加しようとすると、MS Excel で開こうとすると、ポップアップに従って Excel ファイルの内容が正しくありません。
Excel を使用してデータ検証を作成すると、この式は期待どおりに機能します。
=OFFSET(Sites!$A$2;0;0;COUNTA(Sites!$A:$A)- 1;1)
今、私はApache poi 3.8を使って同じことをしようとしています:
XSSFDataValidationConstraint siteNamesConstraint = (XSSFDataValidationConstraint) dvHelper.createFormulaListConstraint("=OFFSET('Sites'!$A$2;0;0;COUNTA('Sites'!$A:$A)- 1;1)");
Excelファイルを開くとエラーが発生します。
私は他の式も試しました:
- =OFFSET('Sites'!$A$2;0;0;COUNTA('Sites'!$A:$A)- 1;1) (シート名を '' で囲み、'=' で囲む)
- OFFSET('Sites'!$A$2;0;0;COUNTA('Sites'!$A:$A)- 1;1) (シート名の前後に '' を使用、'=' を使用しない)
- =OFFSET(Sites!$A$2;0;0;COUNTA(Sites!$A:$A)- 1;1) (名前の前後に '' なし、'=' あり)
- OFFSET(Sites!$A$2;0;0;COUNTA(Sites!$A:$A)- 1;1) (名前の前後に '' なし、'=' なし)
これらのどれも正しくないようです。
これより前に私が持っていたのはただの 'Sites'!$A$2:$A$100 で、これは機能しましたが、結果に空白の値が含まれていました。これは私が必要としているものではありません。
ここで何か間違ったことをしていますか、またはリストに空白の値を含めない別の方法はありますか?