2013-03-06 30 views
17

Tôi đang sử dụng poi 3.6sử dụng poi, Cách đặt loại Di động là số

Tôi có thể tạo excel đúng cách. Nhưng khi tôi cố gắng đặt loại ô là số, nó luôn cho tôi loại tế bào chung.

tức là trong excel mới tạo, khi tôi nhấp chuột phải và đi đến ô định dạng -> ở đó tôi luôn tìm thấy số là Tổng quát.

Mã của tôi là như thế này

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

Bạn có thể xin đề nghị những gì đang mất tích ở đây?

+0

POI 3.6 khá cũ, có lý do nào khiến bạn sử dụng phiên bản cũ và không phải phiên bản mới nhất? – Gagravarr

Trả lời

22

Bạn có thể thử phương pháp này quá:

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

Tất nhiên, hãy nhìn vào các documentation và các ví dụ về data formats.

+0

Cảm ơn rất nhiều Nó đang làm việc cho tôi Tôi đã thử \t \t \t \t //style.setDataFormat(format.getFormat("0.0 ")); nhưng nó không hoạt động .. Cảm ơn rất nhiều – Anup

+0

bạn được chào đón;) – Dani

0

Phương pháp bạn đang tìm kiếm được gọi là "setNumericCellValue" nếu tôi không nhầm. Ngoài ra, hãy thử đặt loại ô trước khi đặt giá trị.

Các vấn đề liên quan