2013-02-14 3 views
4

Вы знаете, как я могу установить тысячу сепаторов и иметь значение, отформатированное так? 403.000Apache poi - Thousand separator

Я использую apache-poi 3.8 с Java. Я много искал, но я не нашел ответа. Я не могу использовать строковое значение, потому что мои формулы не оцениваются правильно таким образом. Любая помощь? благодаря!

Я пытался что-то вроде этого:

cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat("#.##0")); 

но это не работает ..

+0

Попробуйте следующее: http://stackoverflow.com/questions/5335285/write-number-in-excel-cell-with-poi – Shane

+0

@Shane, этот вопрос связан с значением десятичного знака, мне нужно иметь сепатор для тысячи, поэтому, если мое значение равно 1000000, я хочу показать 1.000.000 – Vargan

+0

Как бы вы это сделали в Excel? И вы попробовали попросить POI сделать это так же, как в Excel? – Gagravarr

ответ

4

Хорошо, я нашел его: формат должен быть таким: "#,##0"

6

Вы можете сделайте это:

final HSSFCell dataCell = dataRow.createCell(1); 
dataCell.getCellStyle().setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0")); 
dataCell.setCellValue(123456); 

У вас будет ячейка с номером дисплея следующим образом: 123.45 6 Секунда из тысячи зависит от языка и, возможно, от языка excel.