Chcę sformatować komórki liczbowe, używając przecinka jako separatora tysięcy. Na przykład:Numer formatu z separatorem tysięcy w programie Excel przy użyciu Apache POI
12 -> 12
1200 -> 1,200
12000 -> 12,000
12000000 -> 12,000,000
120000000 -> 120,000,000
Mam następujący kod. Co powinienem użyć jako formatStr
? Czy istnieje łatwy sposób? Czy muszę wykryć liczbę zer, aby wyprodukować coś takiego: #,###,###
?
String formatStr = "";
HSSFCellStyle style = workbook.createCellStyle();
HSSFDataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat(formatStr));
cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
Należy pamiętać, że mam do czynienia z liczbami. Typ komórki będzie numeryczny, a nie łańcuchowy.
Aktualizacja
Dokładnie tego chcę, ale kiedy próbuję tego w Excelu, otrzymuję '1200,'. Nawet gdy spróbowałem twojego przykładu liczby, to samo zachowanie pozostaje (co jest dziwne). Mam zamiar wypróbować to w moim kodzie java i wrócić. Sprawdź aktualizację zrzutu ekranu (być może robię coś nie tak). Właśnie przegłosowano na razie. – alkis
Dziwne. Ustawienia regionalne Excela? ... Przyjrzyj się rozszerzonej odpowiedzi. Czy to ci się bardziej zbliża? –
Ok teraz rozumiem. Druga część rozwiązać go dla mnie, ponieważ ja szukać z „tysięcy SEPERATOR” słowa kluczowe i to wymyślił http://stackoverflow.com/questions/14876548/apache-poi-thousand-separator. Zaakceptowany oczywiście. Proszę nie sądzę, że jestem leniwy, szukałem odpowiedzi, ale nie podałem poprawnych słów kluczowych. – alkis