2013-03-06 3 views
17

Ich bin mit poi 3.6poi mit, wie der Zelltyp als Nummer einzustellen

Ich bin in der Lage die Excel richtig zu erstellen. Aber wenn ich versuche, den Zelltyp als Zahl zu setzen, gibt es mir immer den Zelltyp als allgemein.

d. H. In der neu erstellen Excel, wenn ich mit der rechten Maustaste und gehen Sie zu formatieren Zelle -> dort fand ich immer Nummer ein General sein.

ist mein Code wie dieser

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

Können Sie bitte vorschlagen, was hier fehlt?

+0

POI 3.6 ist ziemlich alt, gibt es einen Grund, warum Sie so eine alte Version verwenden und nicht die neueste? – Gagravarr

Antwort

22

können Sie versuchen, diesen Ansatz zu:

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")); 

Natürlich einen Blick auf die documentation und Beispiele über data formats nehmen.

+0

Vielen Dank Es ist für mich arbeiten Ich habe versucht, \t \t \t \t //style.setDataFormat(format.getFormat("0.0")); aber es hat nicht funktioniert .. Vielen Dank – Anup

+0

Sie sind herzlich willkommen;) – Dani

0

Die Methode, nach der Sie suchen, heißt "setNumericCellValue", wenn ich mich nicht irre. Versuchen Sie auch, den Zellentyp einzustellen, bevor Sie den Wert festlegen.