Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Basic Excel currency format with Apache POI

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"));  } 
like image 370
Dave K Avatar asked Nov 26 '08 01:11

Dave K


People also ask

How can you make Excel automatically apply the Currency format to a Number?

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.

How to read an Excel file in Apache POI?

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

What is Apache POI?

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

What are the different types of poi files?

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.

What is setcellvalue in Apache POI?

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.


1 Answers

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

like image 136
Dave K Avatar answered Sep 19 '22 11:09

Dave K