java - Get currency applied to an Excel Cell using POI -


i have written java program read excel file cell-by-cell using poi api. setting of currency done explicitly using ms excel - "format cell" option.

however, there way in can recognize currency has been applied cell using poi?

so far, have tried using getcellstyle().getdataformat() , returns unique number. however, problem is based on cell style, , can change change in cell formatting(font, size, etc.).

i tried this:

if(cell.cell_type_numeric) {   system.out.println("value in excel cell:: " + cell.getnumericcellvalue());   short styletype = cell.getcellstyle().getdataformat();   system.out.println("style (currency):: " + styletype);    if(styletype == <some unique number>)  //want unique number   {     system.out.println("currency applied cell:: " + <currency name>);   } } 

so, either unique number identifies currency name or if currency name directly, best.

you can identify built in format id looking @ org.apache.poi.ss.usermodel.builtinformats class, or format string using same class

 string dataformatstring =  builtinformats.getbuiltinformat(cell.getcellstyle().getdataformat()); 

or can currency format using getdataformatstring() method cellstyle

string dataformatstring = cell.getcellstyle().getdataformatstring(); 

update:

looking @ hssfdataformat class

international formats

since version 2003 excel has supported international formats. these denoted prefix "[$-xxx]" (where xxx 1-7 digit hexadecimal number). see microsoft article creating international number formats more details on these codes.

for currency format prefix [$c-xxx] c currency symbol , xxx hexadecimal value of locale identifier (lcid) appropriate language , location, can parse data format string currency.

an example, currency "eur € spanish (spain)" data format string #.##0 [$€-c0a];-#.##0 [$€-c0a] can translate [$€-c0a] in "currency eur - spanish", "usd $ english (ee. uu.)" data format string [$$-409]#.##0;-[$$-409]#.##0 can translate [$$-409] in "currency usd - english (u.s.)"... etc

hope helps.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -