poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Talbut <jtal...@spudsoft.co.uk>
Subject Minor behaviour change in borders when moving to POI 3.9 from 3.8
Date Sun, 14 Apr 2013 20:02:33 GMT
Hi,

I have a unit test that causes the creation of an Excel workbook 
containing a single sheet, with a single columns containing 12 cells.
Each cell was created with a border style going all the way around.
My code has to translate from the source borders to POI/Excel - so I 
have the following cells/borders even though they don't all exist in 
POI/Excel:
Solid Black Thin
Solid Black Medium
Solid Black Thick
Dotted Black Thin
Dotted Black Medium
Dotted Black Thick
Dashed Black Thin
Dashed Black Medium
Dashed Black Thick
Double Black Thin
Double Black Medium
Double Black Thick

My issue is that for the XLSX file I'm getting a value of 4 returned by 
style.getBorder*() when I'm expecting a value of 7 (BORDER_DOTTED).
For XLS I'm getting the expected value; in POI 3.8 I got the expected value.
I don't want to send an unannounced attachment, but I can send you the 
workbook if that would help.

Is this a bug in POI 3.9?
Does it affect anything other than the reading of one border style in 
XLSX files?

Thanks.

Jim


In my unit test I have:
     private void assertSingleBorder( int row, String border, short 
expected, short actual ) {
         // assertEquals( "Row " + row + ", border \"" + border + "\": 
", expected, actual );
         if( expected != actual ) {
             System.out.println( "Row " + row + ", border \"" + border + 
"\": " + actual + " != " + expected );
         }
     }


     private void assertBorder( Sheet sheet, int row, int col, short 
bottom, short left, short right, short top ) {

         Cell cell = sheet.getRow(row).getCell(col);
         CellStyle style = cell.getCellStyle();

         assertSingleBorder( row, "bottom", bottom, 
style.getBorderBottom() );
         assertSingleBorder( row, "left", left, style.getBorderLeft() );
         assertSingleBorder( row, "right", right, style.getBorderRight() );
         assertSingleBorder( row, "top", top,    style.getBorderTop() );
     }

...
             assertBorder( sheet, i++, 0, CellStyle.BORDER_THIN, 
CellStyle.BORDER_THIN, CellStyle.BORDER_THIN, CellStyle.BORDER_THIN );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_MEDIUM, 
CellStyle.BORDER_MEDIUM, CellStyle.BORDER_MEDIUM, CellStyle.BORDER_MEDIUM );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_THICK, 
CellStyle.BORDER_THICK, CellStyle.BORDER_THICK, CellStyle.BORDER_THICK );

             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOTTED, 
CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOTTED, 
CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOTTED, 
CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED, CellStyle.BORDER_DOTTED );

             assertBorder( sheet, i++, 0, CellStyle.BORDER_DASHED, 
CellStyle.BORDER_DASHED, CellStyle.BORDER_DASHED, CellStyle.BORDER_DASHED );
             assertBorder( sheet, i++, 0, 
CellStyle.BORDER_MEDIUM_DASHED, CellStyle.BORDER_MEDIUM_DASHED, 
CellStyle.BORDER_MEDIUM_DASHED, CellStyle.BORDER_MEDIUM_DASHED );
             assertBorder( sheet, i++, 0, 
CellStyle.BORDER_MEDIUM_DASHED, CellStyle.BORDER_MEDIUM_DASHED, 
CellStyle.BORDER_MEDIUM_DASHED, CellStyle.BORDER_MEDIUM_DASHED );

             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOUBLE, 
CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOUBLE, 
CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE );
             assertBorder( sheet, i++, 0, CellStyle.BORDER_DOUBLE, 
CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE, CellStyle.BORDER_DOUBLE );
...



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


Mime
View raw message