Ошибка Excel, когда значение раскрывающегося списка содержит дефис (-) с Apache POI - PullRequest
0 голосов
/ 29 мая 2018

Я добавил выпадающие списки в некоторых столбцах таблицы Excel, используя Apache poi.Когда одно из раскрывающихся значений содержит дефис (-), то при открытии листа Excel возникает ошибка - Мы обнаружили проблему с некоторым содержимым в «Text.xlsx».

Без дефиса все отлично работает.Мой код создания выпадающего меню совпадает с принятым решением, упомянутым для этого вопроса - Ограничение при создании выпадающего списка Excel с Apache POI

Пожалуйста, предложите какое-нибудь решение.

1 Ответ

0 голосов
/ 29 мая 2018

Ниже код работает нормально для меня:

        DataValidation dataValidation = null;
        DataValidationConstraint constraint = null;
        DataValidationHelper validationHelper = null;

         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet1=(XSSFSheet) wb.createSheet("sheet1");


            validationHelper=new XSSFDataValidationHelper(sheet1);
            CellRangeAddressList addressList = new  CellRangeAddressList(0,5,0,0);
            constraint =validationHelper.createExplicitListConstraint(new String[]{"SELECT","10-11", "20", "30"});
            dataValidation = validationHelper.createValidation(constraint, addressList);
            dataValidation.setSuppressDropDownArrow(true);      
            sheet1.addValidationData(dataValidation);

            FileOutputStream fileOut = new FileOutputStream("c:\\temp\\abhishek.xlsx");
            wb.write(fileOut);
            fileOut.close();
            wb.close();

Вывод:

enter image description here

...