Fix bug #49689 - Allow the setting of user style names on newly created HSSF cell styles
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@981930 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
57f51af933
commit
fe76361d67
@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
<changes>
|
<changes>
|
||||||
<release version="3.7-beta2" date="2010-??-??">
|
<release version="3.7-beta2" date="2010-??-??">
|
||||||
|
<action dev="POI-DEVELOPERS" type="fix">49689 - Allow the setting of user style names on newly created HSSF cell styles</action>
|
||||||
<action dev="POI-DEVELOPERS" type="add">Make it easier to tell which content types each POIXMLTextExtractor handles</action>
|
<action dev="POI-DEVELOPERS" type="add">Make it easier to tell which content types each POIXMLTextExtractor handles</action>
|
||||||
<action dev="POI-DEVELOPERS" type="fix">49649 - Added clone support for UserSView* and Feat* families of records</action>
|
<action dev="POI-DEVELOPERS" type="fix">49649 - Added clone support for UserSView* and Feat* families of records</action>
|
||||||
<action dev="POI-DEVELOPERS" type="fix">49653 - Support for escaped unicode characters in Shared String Table</action>
|
<action dev="POI-DEVELOPERS" type="fix">49653 - Support for escaped unicode characters in Shared String Table</action>
|
||||||
|
@ -778,7 +778,9 @@ public final class HSSFCellStyle implements CellStyle {
|
|||||||
if(sr == null) {
|
if(sr == null) {
|
||||||
sr = _workbook.createStyleRecord(_index);
|
sr = _workbook.createStyleRecord(_index);
|
||||||
}
|
}
|
||||||
if(sr.isBuiltin()) {
|
// All Style records start as "builtin", but generally
|
||||||
|
// only 20 and below really need to be
|
||||||
|
if(sr.isBuiltin() && _index <= 20) {
|
||||||
throw new IllegalArgumentException("Unable to set user specified style names for built in styles!");
|
throw new IllegalArgumentException("Unable to set user specified style names for built in styles!");
|
||||||
}
|
}
|
||||||
sr.setName(styleName);
|
sr.setName(styleName);
|
||||||
|
@ -1803,4 +1803,38 @@ if(1==2) {
|
|||||||
assertEquals(0xff, rotated.getCellStyle().getRotation());
|
assertEquals(0xff, rotated.getCellStyle().getRotation());
|
||||||
assertEquals(0xff, nc.getCellStyle().getRotation());
|
assertEquals(0xff, nc.getCellStyle().getRotation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setting the user style name on custom styles
|
||||||
|
*/
|
||||||
|
public void test49689() throws Exception {
|
||||||
|
HSSFWorkbook wb = new HSSFWorkbook();
|
||||||
|
HSSFSheet s = wb.createSheet("Test");
|
||||||
|
HSSFRow r = s.createRow(0);
|
||||||
|
HSSFCell c = r.createCell(0);
|
||||||
|
|
||||||
|
HSSFCellStyle cs1 = wb.createCellStyle();
|
||||||
|
HSSFCellStyle cs2 = wb.createCellStyle();
|
||||||
|
HSSFCellStyle cs3 = wb.createCellStyle();
|
||||||
|
|
||||||
|
assertEquals(21, cs1.getIndex());
|
||||||
|
cs1.setUserStyleName("Testing");
|
||||||
|
|
||||||
|
assertEquals(22, cs2.getIndex());
|
||||||
|
cs2.setUserStyleName("Testing 2");
|
||||||
|
|
||||||
|
assertEquals(23, cs3.getIndex());
|
||||||
|
cs3.setUserStyleName("Testing 3");
|
||||||
|
|
||||||
|
// Set one
|
||||||
|
c.setCellStyle(cs1);
|
||||||
|
|
||||||
|
// Write out and read back
|
||||||
|
wb = writeOutAndReadBack(wb);
|
||||||
|
|
||||||
|
// Re-check
|
||||||
|
assertEquals("Testing", wb.getCellStyleAt((short)21).getUserStyleName());
|
||||||
|
assertEquals("Testing 2", wb.getCellStyleAt((short)22).getUserStyleName());
|
||||||
|
assertEquals("Testing 3", wb.getCellStyleAt((short)23).getUserStyleName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user