Apache POI Currency Data Format

Finally Gagravarr gave the right tips to solve this question.

The final solution is:

HSSFDataFormat cf = workbook.createDataFormat();
currencyCellStyle = workbook.createCellStyle();
currencyCellStyle.setDataFormat(cf.getFormat("#,##0.00\\ _€"));

The solution came up after creating an excel file manually. Then read it in by Apache Poi and extracting the format string with

 cell.getCellStyle().getDataFormatString() 

The result was #,##0.00\ _€

So I used this format in the upper code snippet, which gave the correct result.

Thx


An update to the above approach: After manually creating excel file with the required currency formatting, the format string can be obtained under the "Custom" category (in Format Cell dialog). That way we need not read the excel via poi to get this string.


Cannot write a Comment due my reputation. But if you need Integer € with dots each 3rd Number (e.g. 24.000.123 €) the Pattern is:

#,##0\ "€";\-#,##0\ "€"

So set format:

cell.getCellStyle().setDataFormat(cf.getFormat("#,##0\\ \"€\";\\-#,##0\\ \"€\""));

Hope this will help some out.