2013-03-06 18 views
17

Używam poi 3.6za pomocą poi, Jak ustawić typ komórki jako numer

Jestem w stanie poprawnie utworzyć excel. Ale kiedy próbuję ustawić typ komórki jako numer, zawsze daje mi to typ komórki jako ogólny.

tj. W nowo utworzonym programie Excel, po kliknięciu prawym przyciskiem myszy i przejścia do formatu komórki -> tam zawsze znajdowałem numer, aby być generałem.

Moje kodu jest jak ten

style.setAlignment(CellStyle.ALIGN_RIGHT); 
dataCell.setCellValue(Float.parseFloat(value as String); 
dataCell.setCellType(Cell.CELL_TYPE_NUMERIC); 
dataCell.setCellStyle(style); 

Czy mógłbyś zasugerować czego brakuje tutaj?

+0

Punkty POI 3.6 są dość stare, czy istnieje powód, dla którego używasz tak starej wersji, a nie najnowszej? – Gagravarr

Odpowiedz

22

Można spróbować to podejście zbyt:

HSSFRow row = sheet.createRow(sheet.getLastRowNum()); 
HSSFCell cell = row.createCell(0); 
HSSFCellStyle style = workbook.createCellStyle(); 
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00")); 
cell.setCellStyle(style); 
cell.setCellValue(Float.parseFloat("21.5")); 

Oczywiście, spojrzeć na documentation i przykłady o data formats.

+0

Wielkie dzięki! Działa dla mnie. Próbowałem: \t \t \t \t //style.setDataFormat (format.getFormat("0.0")); ale to nie działało .. Wielkie dzięki – Anup

+0

nie ma za co;) – Dani

0

Metoda, której szukasz, nazywa się "setNumericCellValue", jeśli się nie mylę. Spróbuj również ustawić typ komórki przed ustawieniem wartości.

Powiązane problemy