0
您好我正在創建一個「.xlsx」文件在Java中使用apache-poi。所以我做了一些驗證並生成文件。現在,如果手動檢查文件的數據驗證部分中的驗證,則會在生成的文件中啓用這些驗證。驗證不工作在xlsx文件使用apache-poi java
但是,當我把這些非法值列入這些列,它不顯示任何警告消息,像「這個值是不允許的」,並繼續讓用戶把非法價值。
public static void main(String[] args) throws Exception
{
XSSFWorkbook workbook = new XSSFWorkbook();
//HSSFWorkbook workbook = new HSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("Order Details");
//HSSFSheet spreadsheet = workbook.createSheet("Order Details");
// Create row object
XSSFRow row;
//HSSFRow row;
CellStyle unlockedCellStyle = workbook.createCellStyle();
unlockedCellStyle.setLocked(false);
int rowid = 0;
row = spreadsheet.createRow(rowid++);
int cellid = 0;
for (String st : XLS_HEADER.split(",")) {
Cell cell = row.createCell(cellid++);
cell.setCellValue(st);
}
CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
DataValidationHelper dataValidationHelper = spreadsheet.getDataValidationHelper();
DataValidationConstraint constraint = dataValidationHelper.createDateConstraint(OperatorType.BETWEEN,
"25/10/2014", "30/10/2014", "dd/MM/yyyy");
DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
spreadsheet.addValidationData(validation);
FileOutputStream fileOut = new FileOutputStream("testing-file.xlsx");
workbook.write(fileOut);
fileOut.close();
System.out.println("Your excel file has been generated!");
}
如果我做HSSFWorkbook創建是「.xls」文件同樣的事情,它似乎很好地工作。它顯示彈出警報,並且不會讓用戶在該字段中輸入無效值。
請幫我這裏。