2016-12-09 12 views
0
integrityrecords.get(i).get(2)="0"; 
fieldsheet.getRow(1).getCell(3) 
        .setCellValue(integrityrecords.get(i).get(2)); 
System.out.println("coulmn 1 :" + integrityrecords.get(i).get(2)); 

Я пытаюсь получить от данных базы данных как ArrayList строк, а затем писать его, чтобы преуспеть с помощью пои-3.14 XSSF. Когда я это сделаю, я получаю предупреждение в excel-ячейках, где я ввожу числовое значение в ячейку, задавая «Преобразовать в число». Чтобы преодолеть это, я использую дополнительный код setCellType().XSSFCell.CELL_TYPE_NUMERIC изменяет значение от 0 до 25

fieldsheet.getRow(integrityStartRow).getCell(3).setCellType(XSSFCell.CELL_TYPE_NUMERIC); 

Когда я сделать это, значение ячейки меняется на 25. Это происходит для других десятичных значений, что я вхожу в клетку.

Как преодолеть это изменение?

ответ

1

setCellValue() следует вызывать с предполагаемым типом данных. Кажется, вы называете его строковым типом, он должен работать лучше, если вы передадите строку в число перед ее передачей, тогда setCellType() также больше не понадобится.

См. Также http://poi.apache.org/spreadsheet/quick-guide.html#CellTypes

 Смежные вопросы

  • Нет связанных вопросов^_^