https://bz.apache.org/bugzilla/show_bug.cgi?id=58778

            Bug ID: 58778
           Summary: Override built-in number format
           Product: POI
           Version: 3.14-dev
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSSF
          Assignee: dev@poi.apache.org
          Reporter: one...@apache.org

It looks like POI cannot override a built-in number format. The workbook must
have been saved (by Excel) with an overridden built-in number format.

From
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java?revision=1721923&view=markup#l35
> global String poundFmt = "\"\u00a3\"#,##0;[Red]\\-\"\u00a3\"#,##0";
> global short expectedPoundFmtIdx = 6;
> // Read in a workbook where a currency format has been overridden to use the 
> £ symbol in place of the $ symbol. The default built-in format is 
> "$#,##0_);[Red]($#,##0)"
> XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49928.xlsx"); 
> DataFormat dataFormat = wb.createDataFormat();
> short poundFmtIdx = 
> wb.getSheetAt(0).getRow(0).getCell(0).getCellStyle().getDataFormat();
> assertEquals(poundFmtIdx, dataFormat.getFormat(poundFmt));

This could be fixed by adding
void XSSFDataFormat#putFormat(int index, String format).
Am I correct that it isn't possible to override custom data formats in
XSSFWorkbooks in POI?

I'm also curious why the built-in formats don't have a leading opening
parentheses. Seems like they should match up. If so, that could be a different
bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to