I'm able to get cells to format as Dates, but I've been unable to get cells to format as currency... Anyone have an example of how to create a style to get this to work? My code below show the styles I'm creating... the styleDateFormat works like a champ while styleCurrencyFormat has no affect on the cell.
private HSSFWorkbook wb; private HSSFCellStyle styleDateFormat = null; private HSSFCellStyle styleCurrencyFormat = null;
......
public CouponicsReportBean(){ wb = new HSSFWorkbook(); InitializeFonts(); } public void InitializeFonts() { styleDateFormat = wb.createCellStyle(); styleDateFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy")); styleCurrencyFormat = wb.createCellStyle(); styleCurrencyFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("$#,##0.00")); }
Accounting Number Format button In the Home toolbar, near the Number Format drop down menu is a button with a $ symbol on it. This is the Accounting Number Format button. Select the cell or multiple cells you want to format, then click on this button. It will automatically format them to the Accounting format.
Apache POI – Read an excel file 1 Create workbook instance from excel sheet 2 Get to the desired sheet 3 Increment row number 4 iterate over all cells in a row 5 repeat step 3 and 4 until all data is read
Apache POI is an open-source pure Java project. It provides libraries for reading and writing files in Microsoft Office formats, such as Word, PowerPoint, and Excel. While working with the newer .xlsx file format, we would use the XSSFWorkbook class, and for the .xls format, we use the HSSFWorkbook class. 3. Numeric Format
Apache POI main classes usually start with either HSSF, XSSF or SXSSF. HSSF – is the POI Project’s pure Java implementation of the Excel ’97 (-2007) file format. e.g. HSSFWorkbook, HSSFSheet.
Numeric Format The setCellValue method of Apache POI accepts only double as an input or an input that may be implicitly cast to double and returns a double as a numeric value. The setCellStyle method is used to add the required style.
After digging through the documentation a bit more, I found the answer:
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFDataFormat.html
Just need to find an appropriate pre-set format and supply the code.
styleCurrencyFormat.setDataFormat((short)8); //8 = "($#,##0.00_);[Red]($#,##0.00)"
Here are more examples: http://www.roseindia.net/java/poi/setDataFormat.shtml
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With