Tôi muốn định dạng một số ô số, bằng dấu phẩy làm dấu phân cách hàng nghìn. Ví dụ:Số định dạng bằng dấu phân cách hàng nghìn trong Excel bằng cách sử dụng Apache POI
12 -> 12
1200 -> 1,200
12000 -> 12,000
12000000 -> 12,000,000
120000000 -> 120,000,000
Tôi có mã sau đây. Tôi nên sử dụng số nào là formatStr
? Có đường nào dễ đi không? Hay tôi phải phát hiện số 0 để tạo ra thứ gì đó như thế này #,###,###
?
String formatStr = "";
HSSFCellStyle style = workbook.createCellStyle();
HSSFDataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat(formatStr));
cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
Hãy nhớ rằng tôi đang xử lý các con số. Loại ô sẽ là số, không phải chuỗi.
Cập nhật
Đó là chính xác những gì tôi muốn, nhưng khi tôi thử điều này trong excel tôi nhận được '1200, '. Ngay cả khi tôi đã thử ví dụ số của bạn, hành vi tương tự vẫn còn (đó là lẻ). Tôi sẽ thử nó trong mã java của tôi và quay trở lại. Vui lòng kiểm tra bản cập nhật của tôi để có ảnh chụp màn hình (có thể tôi đang làm gì đó sai). Chỉ cần upvoted cho bây giờ. – alkis
Lạ. Cài đặt vùng Excel? ... Hãy xem câu trả lời mở rộng của tôi. Điều này có giúp bạn tiến gần hơn không? –
Ok bây giờ tôi hiểu. Phần thứ hai giải quyết nó cho tôi, kể từ khi tôi tìm kiếm với các từ khóa "nghìn seperator" và điều này đã đưa ra http://stackoverflow.com/questions/14876548/apache-poi-thousand-separator. Chấp nhận tất nhiên. Xin đừng nghĩ rằng tôi lười biếng, tôi đã tìm kiếm câu trả lời hiện có nhưng không phải với từ khóa chính xác. – alkis