java.lang.IllegalStateException: Unexpected (org.apache.poi.hssf.record.PasswordRecord) while looking for DV Table insert pos at org.apache.poi.hssf.model.RecordOrderer.findDataValidationTableInsertPos(RecordOrderer.java:240) at org.apache.poi.hssf.model.RecordOrderer.findSheetInsertPos(RecordOrderer.java:95) at org.apache.poi.hssf.model.RecordOrderer.addNewSheetRecord(RecordOrderer.java:89) at org.apache.poi.hssf.model.Sheet.getOrCreateDataValidityTable(Sheet.java:1752) at org.apache.poi.hssf.usermodel.HSSFSheet.addValidationData(HSSFSheet.java:369)
Fixed in svn r784240 junits added The problem was due to the PASSWORD record being added in the wrong place (after DIMENSION). PASSWORD is part of the 'Worksheet Protection Block' which should be before DIMENSION.