123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065 |
- /* ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ==================================================================== */
-
- package org.apache.poi.xssf.usermodel;
-
- import static org.junit.Assert.assertEquals;
- import static org.junit.Assert.assertFalse;
- import static org.junit.Assert.assertNotEquals;
- import static org.junit.Assert.assertNotNull;
- import static org.junit.Assert.assertNull;
- import static org.junit.Assert.assertSame;
- import static org.junit.Assert.assertTrue;
-
- import java.io.IOException;
-
- import org.apache.poi.hssf.usermodel.HSSFCellStyle;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.*;
- import org.apache.poi.xssf.XSSFTestDataSamples;
- import org.apache.poi.xssf.model.StylesTable;
- import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
- import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
- import org.junit.Before;
- import org.junit.Test;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCellXfs;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType;
- import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment;
-
- public class TestXSSFCellStyle {
- private StylesTable stylesTable;
- private CTBorder ctBorderA;
- private CTFill ctFill;
- private CTFont ctFont;
- private CTXf cellStyleXf;
- private CTXf cellXf;
- private CTCellXfs cellXfs;
- private XSSFCellStyle cellStyle;
- private CTStylesheet ctStylesheet;
-
- @Before
- public void setUp() {
- stylesTable = new StylesTable();
-
- ctStylesheet = stylesTable.getCTStylesheet();
-
- ctBorderA = CTBorder.Factory.newInstance();
- XSSFCellBorder borderA = new XSSFCellBorder(ctBorderA);
- long borderId = stylesTable.putBorder(borderA);
- assertEquals(1, borderId);
-
- XSSFCellBorder borderB = new XSSFCellBorder();
- assertEquals(1, stylesTable.putBorder(borderB));
-
- ctFill = CTFill.Factory.newInstance();
- XSSFCellFill fill = new XSSFCellFill(ctFill);
- long fillId = stylesTable.putFill(fill);
- assertEquals(2, fillId);
-
- ctFont = CTFont.Factory.newInstance();
- XSSFFont font = new XSSFFont(ctFont);
- long fontId = stylesTable.putFont(font);
- assertEquals(1, fontId);
-
- cellStyleXf = ctStylesheet.addNewCellStyleXfs().addNewXf();
- cellStyleXf.setBorderId(1);
- cellStyleXf.setFillId(1);
- cellStyleXf.setFontId(1);
-
- cellXfs = ctStylesheet.addNewCellXfs();
- cellXf = cellXfs.addNewXf();
- cellXf.setXfId(1);
- cellXf.setBorderId(1);
- cellXf.setFillId(1);
- cellXf.setFontId(1);
- stylesTable.putCellStyleXf(cellStyleXf);
- stylesTable.putCellXf(cellXf);
- cellStyle = new XSSFCellStyle(1, 1, stylesTable, null);
-
- assertNotNull(stylesTable.getFillAt(1).getCTFill().getPatternFill());
- assertEquals(STPatternType.INT_DARK_GRAY, stylesTable.getFillAt(1).getCTFill().getPatternFill().getPatternType().intValue());
- }
-
- @Test
- public void testGetSetBorderBottom() {
- //default values
- assertEquals(BorderStyle.NONE, cellStyle.getBorderBottomEnum());
-
- int num = stylesTable.getBorders().size();
- cellStyle.setBorderBottom(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderBottomEnum());
- //a new border has been added
- assertEquals(num + 1, stylesTable.getBorders().size());
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(STBorderStyle.MEDIUM, ctBorder.getBottom().getStyle());
-
- num = stylesTable.getBorders().size();
- //setting the same border multiple times should not change borderId
- for (int i = 0; i < 3; i++) {
- cellStyle.setBorderBottom(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderBottomEnum());
- }
- assertEquals(borderId, cellStyle.getCoreXf().getBorderId());
- assertEquals(num, stylesTable.getBorders().size());
- assertSame(ctBorder, stylesTable.getBorderAt(borderId).getCTBorder());
-
- //setting border to none removes the <bottom> element
- cellStyle.setBorderBottom(BorderStyle.NONE);
- assertEquals(num, stylesTable.getBorders().size());
- borderId = (int)cellStyle.getCoreXf().getBorderId();
- ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertFalse(ctBorder.isSetBottom());
- }
-
- @Test
- public void testGetSetBorderRight() {
- //default values
- assertEquals(BorderStyle.NONE, cellStyle.getBorderRightEnum());
-
- int num = stylesTable.getBorders().size();
- cellStyle.setBorderRight(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderRightEnum());
- //a new border has been added
- assertEquals(num + 1, stylesTable.getBorders().size());
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(STBorderStyle.MEDIUM, ctBorder.getRight().getStyle());
-
- num = stylesTable.getBorders().size();
- //setting the same border multiple times should not change borderId
- for (int i = 0; i < 3; i++) {
- cellStyle.setBorderRight(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderRightEnum());
- }
- assertEquals(borderId, cellStyle.getCoreXf().getBorderId());
- assertEquals(num, stylesTable.getBorders().size());
- assertSame(ctBorder, stylesTable.getBorderAt(borderId).getCTBorder());
-
- //setting border to none removes the <right> element
- cellStyle.setBorderRight(BorderStyle.NONE);
- assertEquals(num, stylesTable.getBorders().size());
- borderId = (int)cellStyle.getCoreXf().getBorderId();
- ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertFalse(ctBorder.isSetRight());
- }
-
- @Test
- public void testGetSetBorderLeft() {
- //default values
- assertEquals(BorderStyle.NONE, cellStyle.getBorderLeftEnum());
-
- int num = stylesTable.getBorders().size();
- cellStyle.setBorderLeft(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderLeftEnum());
- //a new border has been added
- assertEquals(num + 1, stylesTable.getBorders().size());
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(STBorderStyle.MEDIUM, ctBorder.getLeft().getStyle());
-
- num = stylesTable.getBorders().size();
- //setting the same border multiple times should not change borderId
- for (int i = 0; i < 3; i++) {
- cellStyle.setBorderLeft(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderLeftEnum());
- }
- assertEquals(borderId, cellStyle.getCoreXf().getBorderId());
- assertEquals(num, stylesTable.getBorders().size());
- assertSame(ctBorder, stylesTable.getBorderAt(borderId).getCTBorder());
-
- //setting border to none removes the <left> element
- cellStyle.setBorderLeft(BorderStyle.NONE);
- assertEquals(num, stylesTable.getBorders().size());
- borderId = (int)cellStyle.getCoreXf().getBorderId();
- ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertFalse(ctBorder.isSetLeft());
- }
-
- @Test
- public void testGetSetBorderTop() {
- //default values
- assertEquals(BorderStyle.NONE, cellStyle.getBorderTopEnum());
-
- int num = stylesTable.getBorders().size();
- cellStyle.setBorderTop(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderTopEnum());
- //a new border has been added
- assertEquals(num + 1, stylesTable.getBorders().size());
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(STBorderStyle.MEDIUM, ctBorder.getTop().getStyle());
-
- num = stylesTable.getBorders().size();
- //setting the same border multiple times should not change borderId
- for (int i = 0; i < 3; i++) {
- cellStyle.setBorderTop(BorderStyle.MEDIUM);
- assertEquals(BorderStyle.MEDIUM, cellStyle.getBorderTopEnum());
- }
- assertEquals(borderId, cellStyle.getCoreXf().getBorderId());
- assertEquals(num, stylesTable.getBorders().size());
- assertSame(ctBorder, stylesTable.getBorderAt(borderId).getCTBorder());
-
- //setting border to none removes the <top> element
- cellStyle.setBorderTop(BorderStyle.NONE);
- assertEquals(num, stylesTable.getBorders().size());
- borderId = (int)cellStyle.getCoreXf().getBorderId();
- ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertFalse(ctBorder.isSetTop());
- }
-
- private void testGetSetBorderXMLBean(BorderStyle border, STBorderStyle.Enum expected) {
- cellStyle.setBorderTop(border);
- assertEquals(border, cellStyle.getBorderTopEnum());
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(expected, ctBorder.getTop().getStyle());
- }
-
-
- // Border Styles, in BorderStyle/STBorderStyle enum order
- @Test
- public void testGetSetBorderNone() {
- cellStyle.setBorderTop(BorderStyle.NONE);
- assertEquals(BorderStyle.NONE, cellStyle.getBorderTopEnum());
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertNull(ctBorder.getTop());
- // no border style and STBorderStyle.NONE are equivalent
- // POI prefers to unset the border style than explicitly set it STBorderStyle.NONE
- }
-
- @Test
- public void testGetSetBorderThin() {
- testGetSetBorderXMLBean(BorderStyle.THIN, STBorderStyle.THIN);
- }
-
- @Test
- public void testGetSetBorderMedium() {
- testGetSetBorderXMLBean(BorderStyle.MEDIUM, STBorderStyle.MEDIUM);
- }
-
- @Test
- public void testGetSetBorderDashed() {
- testGetSetBorderXMLBean(BorderStyle.DASHED, STBorderStyle.DASHED);
- }
-
- @Test
- public void testGetSetBorderDotted() {
- testGetSetBorderXMLBean(BorderStyle.DOTTED, STBorderStyle.DOTTED);
- }
-
- @Test
- public void testGetSetBorderThick() {
- testGetSetBorderXMLBean(BorderStyle.THICK, STBorderStyle.THICK);
- }
-
- @Test
- public void testGetSetBorderDouble() {
- testGetSetBorderXMLBean(BorderStyle.DOUBLE, STBorderStyle.DOUBLE);
- }
-
- @Test
- public void testGetSetBorderHair() {
- testGetSetBorderXMLBean(BorderStyle.HAIR, STBorderStyle.HAIR);
- }
-
- @Test
- public void testGetSetBorderMediumDashed() {
- testGetSetBorderXMLBean(BorderStyle.MEDIUM_DASHED, STBorderStyle.MEDIUM_DASHED);
- }
-
- @Test
- public void testGetSetBorderDashDot() {
- testGetSetBorderXMLBean(BorderStyle.DASH_DOT, STBorderStyle.DASH_DOT);
- }
-
- @Test
- public void testGetSetBorderMediumDashDot() {
- testGetSetBorderXMLBean(BorderStyle.MEDIUM_DASH_DOT, STBorderStyle.MEDIUM_DASH_DOT);
- }
-
- @Test
- public void testGetSetBorderDashDotDot() {
- testGetSetBorderXMLBean(BorderStyle.DASH_DOT_DOT, STBorderStyle.DASH_DOT_DOT);
- }
-
- @Test
- public void testGetSetBorderMediumDashDotDot() {
- testGetSetBorderXMLBean(BorderStyle.MEDIUM_DASH_DOT_DOT, STBorderStyle.MEDIUM_DASH_DOT_DOT);
- }
-
- @Test
- public void testGetSetBorderSlantDashDot() {
- testGetSetBorderXMLBean(BorderStyle.SLANTED_DASH_DOT, STBorderStyle.SLANT_DASH_DOT);
- }
-
- @Test
- public void testGetSetBottomBorderColor() {
- //defaults
- assertEquals(IndexedColors.BLACK.getIndex(), cellStyle.getBottomBorderColor());
- assertNull(cellStyle.getBottomBorderXSSFColor());
-
- int num = stylesTable.getBorders().size();
-
- XSSFColor clr;
-
- //setting indexed color
- cellStyle.setBottomBorderColor(IndexedColors.BLUE_GREY.getIndex());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), cellStyle.getBottomBorderColor());
- clr = cellStyle.getBottomBorderXSSFColor();
- assertTrue(clr.getCTColor().isSetIndexed());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), clr.getIndexed());
- //a new border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), ctBorder.getBottom().getColor().getIndexed());
-
- //setting XSSFColor
- num = stylesTable.getBorders().size();
- clr = new XSSFColor(java.awt.Color.CYAN);
- cellStyle.setBottomBorderColor(clr);
- assertEquals(clr.getCTColor().toString(), cellStyle.getBottomBorderXSSFColor().getCTColor().toString());
- byte[] rgb = cellStyle.getBottomBorderXSSFColor().getRGB();
- assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
- //another border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //passing null unsets the color
- cellStyle.setBottomBorderColor(null);
- assertNull(cellStyle.getBottomBorderXSSFColor());
- }
-
- @Test
- public void testGetSetTopBorderColor() {
- //defaults
- assertEquals(IndexedColors.BLACK.getIndex(), cellStyle.getTopBorderColor());
- assertNull(cellStyle.getTopBorderXSSFColor());
-
- int num = stylesTable.getBorders().size();
-
- XSSFColor clr;
-
- //setting indexed color
- cellStyle.setTopBorderColor(IndexedColors.BLUE_GREY.getIndex());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), cellStyle.getTopBorderColor());
- clr = cellStyle.getTopBorderXSSFColor();
- assertTrue(clr.getCTColor().isSetIndexed());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), clr.getIndexed());
- //a new border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), ctBorder.getTop().getColor().getIndexed());
-
- //setting XSSFColor
- num = stylesTable.getBorders().size();
- clr = new XSSFColor(java.awt.Color.CYAN);
- cellStyle.setTopBorderColor(clr);
- assertEquals(clr.getCTColor().toString(), cellStyle.getTopBorderXSSFColor().getCTColor().toString());
- byte[] rgb = cellStyle.getTopBorderXSSFColor().getRGB();
- assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
- //another border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //passing null unsets the color
- cellStyle.setTopBorderColor(null);
- assertNull(cellStyle.getTopBorderXSSFColor());
- }
-
- @Test
- public void testGetSetLeftBorderColor() {
- //defaults
- assertEquals(IndexedColors.BLACK.getIndex(), cellStyle.getLeftBorderColor());
- assertNull(cellStyle.getLeftBorderXSSFColor());
-
- int num = stylesTable.getBorders().size();
-
- XSSFColor clr;
-
- //setting indexed color
- cellStyle.setLeftBorderColor(IndexedColors.BLUE_GREY.getIndex());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), cellStyle.getLeftBorderColor());
- clr = cellStyle.getLeftBorderXSSFColor();
- assertTrue(clr.getCTColor().isSetIndexed());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), clr.getIndexed());
- //a new border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), ctBorder.getLeft().getColor().getIndexed());
-
- //setting XSSFColor
- num = stylesTable.getBorders().size();
- clr = new XSSFColor(java.awt.Color.CYAN);
- cellStyle.setLeftBorderColor(clr);
- assertEquals(clr.getCTColor().toString(), cellStyle.getLeftBorderXSSFColor().getCTColor().toString());
- byte[] rgb = cellStyle.getLeftBorderXSSFColor().getRGB();
- assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
- //another border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //passing null unsets the color
- cellStyle.setLeftBorderColor(null);
- assertNull(cellStyle.getLeftBorderXSSFColor());
- }
-
- @Test
- public void testGetSetRightBorderColor() {
- //defaults
- assertEquals(IndexedColors.BLACK.getIndex(), cellStyle.getRightBorderColor());
- assertNull(cellStyle.getRightBorderXSSFColor());
-
- int num = stylesTable.getBorders().size();
-
- XSSFColor clr;
-
- //setting indexed color
- cellStyle.setRightBorderColor(IndexedColors.BLUE_GREY.getIndex());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), cellStyle.getRightBorderColor());
- clr = cellStyle.getRightBorderXSSFColor();
- assertTrue(clr.getCTColor().isSetIndexed());
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), clr.getIndexed());
- //a new border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //id of the created border
- int borderId = (int)cellStyle.getCoreXf().getBorderId();
- assertTrue(borderId > 0);
- //check changes in the underlying xml bean
- CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
- assertEquals(IndexedColors.BLUE_GREY.getIndex(), ctBorder.getRight().getColor().getIndexed());
-
- //setting XSSFColor
- num = stylesTable.getBorders().size();
- clr = new XSSFColor(java.awt.Color.CYAN);
- cellStyle.setRightBorderColor(clr);
- assertEquals(clr.getCTColor().toString(), cellStyle.getRightBorderXSSFColor().getCTColor().toString());
- byte[] rgb = cellStyle.getRightBorderXSSFColor().getRGB();
- assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
- //another border was added to the styles table
- assertEquals(num + 1, stylesTable.getBorders().size());
-
- //passing null unsets the color
- cellStyle.setRightBorderColor(null);
- assertNull(cellStyle.getRightBorderXSSFColor());
- }
-
- @Test
- public void testGetSetFillBackgroundColor() {
-
- assertEquals(IndexedColors.AUTOMATIC.getIndex(), cellStyle.getFillBackgroundColor());
- assertNull(cellStyle.getFillBackgroundXSSFColor());
-
- XSSFColor clr;
-
- int num = stylesTable.getFills().size();
-
- //setting indexed color
- cellStyle.setFillBackgroundColor(IndexedColors.RED.getIndex());
- assertEquals(IndexedColors.RED.getIndex(), cellStyle.getFillBackgroundColor());
- clr = cellStyle.getFillBackgroundXSSFColor();
- assertTrue(clr.getCTColor().isSetIndexed());
- assertEquals(IndexedColors.RED.getIndex(), clr.getIndexed());
- //a new fill was added to the styles table
- assertEquals(num + 1, stylesTable.getFills().size());
-
- //id of the created border
- int fillId = (int)cellStyle.getCoreXf().getFillId();
- assertTrue(fillId > 0);
- //check changes in the underlying xml bean
- CTFill ctFill2 = stylesTable.getFillAt(fillId).getCTFill();
- assertEquals(IndexedColors.RED.getIndex(), ctFill2.getPatternFill().getBgColor().getIndexed());
-
- //setting XSSFColor
- num = stylesTable.getFills().size();
- clr = new XSSFColor(java.awt.Color.CYAN);
- cellStyle.setFillBackgroundColor(clr);
- assertEquals(clr.getCTColor().toString(), cellStyle.getFillBackgroundXSSFColor().getCTColor().toString());
- byte[] rgb = cellStyle.getFillBackgroundXSSFColor().getRGB();
- assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
- //another border was added to the styles table
- assertEquals(num + 1, stylesTable.getFills().size());
-
- //passing null unsets the color
- cellStyle.setFillBackgroundColor(null);
- assertNull(cellStyle.getFillBackgroundXSSFColor());
- assertEquals(IndexedColors.AUTOMATIC.getIndex(), cellStyle.getFillBackgroundColor());
- }
-
- @Test
- public void testDefaultStyles() throws IOException {
-
- XSSFWorkbook wb1 = new XSSFWorkbook();
-
- XSSFCellStyle style1 = wb1.createCellStyle();
- assertEquals(IndexedColors.AUTOMATIC.getIndex(), style1.getFillBackgroundColor());
- assertNull(style1.getFillBackgroundXSSFColor());
-
- assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb1));
- wb1.close();
-
- //compatibility with HSSF
- HSSFWorkbook wb2 = new HSSFWorkbook();
- HSSFCellStyle style2 = wb2.createCellStyle();
- assertEquals(style2.getFillBackgroundColor(), style1.getFillBackgroundColor());
- assertEquals(style2.getFillForegroundColor(), style1.getFillForegroundColor());
- assertEquals(style2.getFillPatternEnum(), style1.getFillPatternEnum());
- assertEquals(style2.getFillPattern(), style1.getFillPattern());
-
- assertEquals(style2.getLeftBorderColor(), style1.getLeftBorderColor());
- assertEquals(style2.getTopBorderColor(), style1.getTopBorderColor());
- assertEquals(style2.getRightBorderColor(), style1.getRightBorderColor());
- assertEquals(style2.getBottomBorderColor(), style1.getBottomBorderColor());
-
- assertEquals(style2.getBorderBottomEnum(), style1.getBorderBottomEnum());
- assertEquals(style2.getBorderLeftEnum(), style1.getBorderLeftEnum());
- assertEquals(style2.getBorderRightEnum(), style1.getBorderRightEnum());
- assertEquals(style2.getBorderTopEnum(), style1.getBorderTopEnum());
- wb2.close();
- }
-
- @Test
- public void testGetFillForegroundColor() throws IOException {
- XSSFWorkbook wb = new XSSFWorkbook();
- StylesTable styles = wb.getStylesSource();
- assertEquals(1, wb.getNumCellStyles());
- assertEquals(2, styles.getFills().size());
-
- XSSFCellStyle defaultStyle = wb.getCellStyleAt((short)0);
- assertEquals(IndexedColors.AUTOMATIC.getIndex(), defaultStyle.getFillForegroundColor());
- assertEquals(null, defaultStyle.getFillForegroundXSSFColor());
- assertEquals(FillPatternType.NO_FILL, defaultStyle.getFillPatternEnum());
- assertEquals(CellStyle.NO_FILL, defaultStyle.getFillPattern());
-
- XSSFCellStyle customStyle = wb.createCellStyle();
-
- customStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
- assertEquals(FillPatternType.SOLID_FOREGROUND, customStyle.getFillPatternEnum());
- assertEquals(CellStyle.SOLID_FOREGROUND, customStyle.getFillPattern());
- assertEquals(3, styles.getFills().size());
-
- customStyle.setFillForegroundColor(IndexedColors.BRIGHT_GREEN.getIndex());
- assertEquals(IndexedColors.BRIGHT_GREEN.getIndex(), customStyle.getFillForegroundColor());
- assertEquals(4, styles.getFills().size());
-
- for (int i = 0; i < 3; i++) {
- XSSFCellStyle style = wb.createCellStyle();
-
- style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
- assertEquals(FillPatternType.SOLID_FOREGROUND, style.getFillPatternEnum());
- assertEquals(CellStyle.SOLID_FOREGROUND, style.getFillPattern());
- assertEquals(4, styles.getFills().size());
-
- style.setFillForegroundColor(IndexedColors.BRIGHT_GREEN.getIndex());
- assertEquals(IndexedColors.BRIGHT_GREEN.getIndex(), style.getFillForegroundColor());
- assertEquals(4, styles.getFills().size());
- }
-
- assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
- wb.close();
- }
-
- @Test
- public void testGetFillPattern() {
-
- assertEquals(STPatternType.INT_DARK_GRAY-1, cellStyle.getFillPatternEnum().getCode());
- assertEquals(STPatternType.INT_DARK_GRAY-1, cellStyle.getFillPattern());
-
- int num = stylesTable.getFills().size();
- cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
- assertEquals(FillPatternType.SOLID_FOREGROUND, cellStyle.getFillPatternEnum());
- assertEquals(CellStyle.SOLID_FOREGROUND, cellStyle.getFillPattern());
- assertEquals(num + 1, stylesTable.getFills().size());
- int fillId = (int)cellStyle.getCoreXf().getFillId();
- assertTrue(fillId > 0);
- //check changes in the underlying xml bean
- CTFill ctFill2 = stylesTable.getFillAt(fillId).getCTFill();
- assertEquals(STPatternType.SOLID, ctFill2.getPatternFill().getPatternType());
-
- //setting the same fill multiple time does not update the styles table
- for (int i = 0; i < 3; i++) {
- cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
- }
- assertEquals(num + 1, stylesTable.getFills().size());
-
- cellStyle.setFillPattern(FillPatternType.NO_FILL);
- assertEquals(FillPatternType.NO_FILL, cellStyle.getFillPatternEnum());
- assertEquals(CellStyle.NO_FILL, cellStyle.getFillPattern());
- fillId = (int)cellStyle.getCoreXf().getFillId();
- ctFill2 = stylesTable.getFillAt(fillId).getCTFill();
- assertFalse(ctFill2.getPatternFill().isSetPatternType());
-
- }
-
- @Test
- public void testGetFont() {
- assertNotNull(cellStyle.getFont());
- }
-
- @Test
- public void testGetSetHidden() {
- assertFalse(cellStyle.getHidden());
- cellStyle.setHidden(true);
- assertTrue(cellStyle.getHidden());
- cellStyle.setHidden(false);
- assertFalse(cellStyle.getHidden());
- }
-
- @Test
- public void testGetSetLocked() {
- assertTrue(cellStyle.getLocked());
- cellStyle.setLocked(true);
- assertTrue(cellStyle.getLocked());
- cellStyle.setLocked(false);
- assertFalse(cellStyle.getLocked());
- }
-
- @Test
- public void testGetSetIndent() {
- assertEquals((short)0, cellStyle.getIndention());
- cellStyle.setIndention((short)3);
- assertEquals((short)3, cellStyle.getIndention());
- cellStyle.setIndention((short) 13);
- assertEquals((short)13, cellStyle.getIndention());
- }
-
- @Test
- public void testGetSetAlignement() {
- assertNull(cellStyle.getCellAlignment().getCTCellAlignment().getHorizontal());
- assertEquals(HorizontalAlignment.GENERAL, cellStyle.getAlignmentEnum());
-
- cellStyle.setAlignment(XSSFCellStyle.ALIGN_LEFT);
- assertEquals(XSSFCellStyle.ALIGN_LEFT, cellStyle.getAlignment());
- assertEquals(HorizontalAlignment.LEFT, cellStyle.getAlignmentEnum());
- assertEquals(STHorizontalAlignment.LEFT, cellStyle.getCellAlignment().getCTCellAlignment().getHorizontal());
-
- cellStyle.setAlignment(HorizontalAlignment.JUSTIFY);
- assertEquals(XSSFCellStyle.ALIGN_JUSTIFY, cellStyle.getAlignment());
- assertEquals(HorizontalAlignment.JUSTIFY, cellStyle.getAlignmentEnum());
- assertEquals(STHorizontalAlignment.JUSTIFY, cellStyle.getCellAlignment().getCTCellAlignment().getHorizontal());
-
- cellStyle.setAlignment(HorizontalAlignment.CENTER);
- assertEquals(XSSFCellStyle.ALIGN_CENTER, cellStyle.getAlignment());
- assertEquals(HorizontalAlignment.CENTER, cellStyle.getAlignmentEnum());
- assertEquals(STHorizontalAlignment.CENTER, cellStyle.getCellAlignment().getCTCellAlignment().getHorizontal());
- }
-
- @Test
- public void testGetSetVerticalAlignment() {
- assertEquals(VerticalAlignment.BOTTOM, cellStyle.getVerticalAlignmentEnum());
- assertEquals(XSSFCellStyle.VERTICAL_BOTTOM, cellStyle.getVerticalAlignment());
- assertNull(cellStyle.getCellAlignment().getCTCellAlignment().getVertical());
-
- cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
- assertEquals(XSSFCellStyle.VERTICAL_CENTER, cellStyle.getVerticalAlignment());
- assertEquals(VerticalAlignment.CENTER, cellStyle.getVerticalAlignmentEnum());
- assertEquals(STVerticalAlignment.CENTER, cellStyle.getCellAlignment().getCTCellAlignment().getVertical());
-
- cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_JUSTIFY);
- assertEquals(XSSFCellStyle.VERTICAL_JUSTIFY, cellStyle.getVerticalAlignment());
- assertEquals(VerticalAlignment.JUSTIFY, cellStyle.getVerticalAlignmentEnum());
- assertEquals(STVerticalAlignment.JUSTIFY, cellStyle.getCellAlignment().getCTCellAlignment().getVertical());
- }
-
- @Test
- public void testGetSetWrapText() {
- assertFalse(cellStyle.getWrapText());
- cellStyle.setWrapText(true);
- assertTrue(cellStyle.getWrapText());
- cellStyle.setWrapText(false);
- assertFalse(cellStyle.getWrapText());
- }
-
- /**
- * Cloning one XSSFCellStyle onto Another, same XSSFWorkbook
- */
- @Test
- public void testCloneStyleSameWB() throws IOException {
- XSSFWorkbook wb = new XSSFWorkbook();
- assertEquals(1, wb.getNumberOfFonts());
-
- XSSFFont fnt = wb.createFont();
- fnt.setFontName("TestingFont");
- assertEquals(2, wb.getNumberOfFonts());
-
- XSSFCellStyle orig = wb.createCellStyle();
- orig.setAlignment(CellStyle.ALIGN_RIGHT);
- orig.setFont(fnt);
- orig.setDataFormat((short)18);
-
- assertTrue(CellStyle.ALIGN_RIGHT == orig.getAlignment());
- assertTrue(fnt == orig.getFont());
- assertTrue(18 == orig.getDataFormat());
-
- XSSFCellStyle clone = wb.createCellStyle();
- assertFalse(CellStyle.ALIGN_RIGHT == clone.getAlignment());
- assertFalse(fnt == clone.getFont());
- assertFalse(18 == clone.getDataFormat());
-
- clone.cloneStyleFrom(orig);
- assertTrue(CellStyle.ALIGN_RIGHT == clone.getAlignment());
- assertTrue(fnt == clone.getFont());
- assertTrue(18 == clone.getDataFormat());
- assertEquals(2, wb.getNumberOfFonts());
-
- XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb);
- assertNotNull(wb2);
- wb2.close();
-
- wb.close();
- }
-
- /**
- * Cloning one XSSFCellStyle onto Another, different XSSFWorkbooks
- */
- @Test
- public void testCloneStyleDiffWB() throws IOException {
- XSSFWorkbook wbOrig = new XSSFWorkbook();
- assertEquals(1, wbOrig.getNumberOfFonts());
- assertEquals(0, wbOrig.getStylesSource().getNumberFormats().size());
-
- XSSFFont fnt = wbOrig.createFont();
- fnt.setFontName("TestingFont");
- assertEquals(2, wbOrig.getNumberOfFonts());
- assertEquals(0, wbOrig.getStylesSource().getNumberFormats().size());
-
- XSSFDataFormat fmt = wbOrig.createDataFormat();
- fmt.getFormat("MadeUpOne");
- fmt.getFormat("MadeUpTwo");
-
- XSSFCellStyle orig = wbOrig.createCellStyle();
- orig.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
- orig.setFont(fnt);
- orig.setDataFormat(fmt.getFormat("Test##"));
-
- assertTrue(XSSFCellStyle.ALIGN_RIGHT == orig.getAlignment());
- assertTrue(fnt == orig.getFont());
- assertTrue(fmt.getFormat("Test##") == orig.getDataFormat());
-
- assertEquals(2, wbOrig.getNumberOfFonts());
- assertEquals(3, wbOrig.getStylesSource().getNumberFormats().size());
-
-
- // Now a style on another workbook
- XSSFWorkbook wbClone = new XSSFWorkbook();
- assertEquals(1, wbClone.getNumberOfFonts());
- assertEquals(0, wbClone.getStylesSource().getNumberFormats().size());
- assertEquals(1, wbClone.getNumCellStyles());
-
- XSSFDataFormat fmtClone = wbClone.createDataFormat();
- XSSFCellStyle clone = wbClone.createCellStyle();
-
- assertEquals(1, wbClone.getNumberOfFonts());
- assertEquals(0, wbClone.getStylesSource().getNumberFormats().size());
-
- assertFalse(HSSFCellStyle.ALIGN_RIGHT == clone.getAlignment());
- assertNotEquals("TestingFont", clone.getFont().getFontName());
-
- clone.cloneStyleFrom(orig);
-
- assertEquals(2, wbClone.getNumberOfFonts());
- assertEquals(2, wbClone.getNumCellStyles());
- assertEquals(1, wbClone.getStylesSource().getNumberFormats().size());
-
- assertEquals(HSSFCellStyle.ALIGN_RIGHT, clone.getAlignment());
- assertEquals("TestingFont", clone.getFont().getFontName());
- assertEquals(fmtClone.getFormat("Test##"), clone.getDataFormat());
- assertFalse(fmtClone.getFormat("Test##") == fmt.getFormat("Test##"));
-
- // Save it and re-check
- XSSFWorkbook wbReload = XSSFTestDataSamples.writeOutAndReadBack(wbClone);
- assertEquals(2, wbReload.getNumberOfFonts());
- assertEquals(2, wbReload.getNumCellStyles());
- assertEquals(1, wbReload.getStylesSource().getNumberFormats().size());
-
- XSSFCellStyle reload = wbReload.getCellStyleAt((short)1);
- assertEquals(HSSFCellStyle.ALIGN_RIGHT, reload.getAlignment());
- assertEquals("TestingFont", reload.getFont().getFontName());
- assertEquals(fmtClone.getFormat("Test##"), reload.getDataFormat());
- assertFalse(fmtClone.getFormat("Test##") == fmt.getFormat("Test##"));
-
- XSSFWorkbook wbOrig2 = XSSFTestDataSamples.writeOutAndReadBack(wbOrig);
- assertNotNull(wbOrig2);
- wbOrig2.close();
-
- XSSFWorkbook wbClone2 = XSSFTestDataSamples.writeOutAndReadBack(wbClone);
- assertNotNull(wbClone2);
- wbClone2.close();
-
- wbReload.close();
- wbClone.close();
- wbOrig.close();
- }
-
- /**
- * Avoid ArrayIndexOutOfBoundsException when creating cell style
- * in a workbook that has an empty xf table.
- */
- @Test
- public void testBug52348() throws IOException {
- XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("52348.xlsx");
- StylesTable st = workbook.getStylesSource();
- assertEquals(0, st._getStyleXfsSize());
-
- XSSFCellStyle style = workbook.createCellStyle(); // no exception at this point
- assertNull(style.getStyleXf());
-
- XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(workbook);
- assertNotNull(wb2);
- wb2.close();
- workbook.close();
- }
-
- /**
- * Avoid ArrayIndexOutOfBoundsException when getting cell style
- * in a workbook that has an empty xf table.
- */
- @Test
- public void testBug55650() throws IOException {
- XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("52348.xlsx");
- StylesTable st = workbook.getStylesSource();
- assertEquals(0, st._getStyleXfsSize());
-
- // no exception at this point
- XSSFCellStyle style = workbook.getSheetAt(0).getRow(0).getCell(0).getCellStyle();
- assertNull(style.getStyleXf());
-
- XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(workbook);
- assertNotNull(wb2);
- wb2.close();
-
- workbook.close();
- }
-
- @Test
- public void testShrinkToFit() throws IOException {
- // Existing file
- XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("ShrinkToFit.xlsx");
- Sheet s = wb1.getSheetAt(0);
- Row r = s.getRow(0);
- CellStyle cs = r.getCell(0).getCellStyle();
-
- assertEquals(true, cs.getShrinkToFit());
-
- // New file
- XSSFWorkbook wb2 = new XSSFWorkbook();
- s = wb2.createSheet();
- r = s.createRow(0);
-
- cs = wb2.createCellStyle();
- cs.setShrinkToFit(false);
- r.createCell(0).setCellStyle(cs);
-
- cs = wb2.createCellStyle();
- cs.setShrinkToFit(true);
- r.createCell(1).setCellStyle(cs);
-
- // Write out, read, and check
- XSSFWorkbook wb3 = XSSFTestDataSamples.writeOutAndReadBack(wb2);
- s = wb3.getSheetAt(0);
- r = s.getRow(0);
- assertEquals(false, r.getCell(0).getCellStyle().getShrinkToFit());
- assertEquals(true, r.getCell(1).getCellStyle().getShrinkToFit());
-
- XSSFWorkbook wb4 = XSSFTestDataSamples.writeOutAndReadBack(wb2);
- assertNotNull(wb4);
- wb4.close();
-
- XSSFWorkbook wb5 = XSSFTestDataSamples.writeOutAndReadBack(wb3);
- assertNotNull(wb5);
- wb5.close();
-
- wb3.close();
- wb2.close();
- wb1.close();
-
- }
-
- @Test
- public void testSetColor() throws IOException {
- Workbook wb = new XSSFWorkbook();
- Sheet sheet = wb.createSheet();
- Row row = sheet.createRow(0);
-
- DataFormat format = wb.createDataFormat();
- Cell cell = row.createCell(1);
- cell.setCellValue("somevalue");
- CellStyle cellStyle2 = wb.createCellStyle();
-
-
- cellStyle2.setDataFormat(format.getFormat("###0"));
-
- cellStyle2.setFillBackgroundColor(IndexedColors.DARK_BLUE.getIndex());
- cellStyle2.setFillForegroundColor(IndexedColors.DARK_BLUE.getIndex());
- cellStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND);
-
- cellStyle2.setAlignment(CellStyle.ALIGN_RIGHT);
- cellStyle2.setVerticalAlignment(CellStyle.VERTICAL_TOP);
-
- cell.setCellStyle(cellStyle2);
-
- Workbook wbBack = XSSFTestDataSamples.writeOutAndReadBack(wb);
- Cell cellBack = wbBack.getSheetAt(0).getRow(0).getCell(1);
- assertNotNull(cellBack);
- CellStyle styleBack = cellBack.getCellStyle();
- assertEquals(IndexedColors.DARK_BLUE.getIndex(), styleBack.getFillBackgroundColor());
- assertEquals(IndexedColors.DARK_BLUE.getIndex(), styleBack.getFillForegroundColor());
- assertEquals(CellStyle.ALIGN_RIGHT, styleBack.getAlignment());
- assertEquals(CellStyle.VERTICAL_TOP, styleBack.getVerticalAlignment());
- assertEquals(FillPatternType.SOLID_FOREGROUND, styleBack.getFillPatternEnum());
- assertEquals(CellStyle.SOLID_FOREGROUND, styleBack.getFillPattern());
-
- wbBack.close();
-
- wb.close();
- }
-
- public static void copyStyles(Workbook reference, Workbook target) {
- final int numberOfStyles = reference.getNumCellStyles();
- // don't copy default style (style index 0)
- for (int i = 1; i < numberOfStyles; i++) {
- final CellStyle referenceStyle = reference.getCellStyleAt(i);
- final CellStyle targetStyle = target.createCellStyle();
- targetStyle.cloneStyleFrom(referenceStyle);
- }
- /*System.out.println("Reference : "+reference.getNumCellStyles());
- System.out.println("Target : "+target.getNumCellStyles());*/
- }
-
- @Test
- public void test58084() throws IOException {
- Workbook reference = XSSFTestDataSamples.openSampleWorkbook("template.xlsx");
- Workbook target = new XSSFWorkbook();
- copyStyles(reference, target);
-
- assertEquals(reference.getNumCellStyles(), target.getNumCellStyles());
- final Sheet sheet = target.createSheet();
- final Row row = sheet.createRow(0);
- int col = 0;
- for (short i = 1; i < target.getNumCellStyles(); i++) {
- final Cell cell = row.createCell(col++);
- cell.setCellValue("Coucou"+i);
- cell.setCellStyle(target.getCellStyleAt(i));
- }
- /*OutputStream out = new FileOutputStream("C:\\temp\\58084.xlsx");
- target.write(out);
- out.close();*/
-
- Workbook copy = XSSFTestDataSamples.writeOutAndReadBack(target);
-
- // previously this failed because the border-element was not copied over
- copy.getCellStyleAt((short)1).getBorderBottomEnum();
-
- copy.close();
-
- target.close();
- reference.close();
- }
-
- @Test
- public void test58043() {
- assertEquals(0, cellStyle.getRotation());
-
- cellStyle.setRotation((short)89);
- assertEquals(89, cellStyle.getRotation());
-
- cellStyle.setRotation((short)90);
- assertEquals(90, cellStyle.getRotation());
-
- cellStyle.setRotation((short)179);
- assertEquals(179, cellStyle.getRotation());
-
- cellStyle.setRotation((short)180);
- assertEquals(180, cellStyle.getRotation());
-
- // negative values are mapped to the correct values for compatibility between HSSF and XSSF
- cellStyle.setRotation((short)-1);
- assertEquals(91, cellStyle.getRotation());
-
- cellStyle.setRotation((short)-89);
- assertEquals(179, cellStyle.getRotation());
-
- cellStyle.setRotation((short)-90);
- assertEquals(180, cellStyle.getRotation());
- }
-
- @Test
- public void bug58996_UsedToWorkIn3_11_ButNotIn3_13() throws IOException {
- XSSFWorkbook workbook = new XSSFWorkbook();
-
- XSSFCellStyle cellStyle = workbook.createCellStyle();
- cellStyle.setFillForegroundColor(null);
- assertNull(cellStyle.getFillForegroundColorColor());
-
- cellStyle.setFillBackgroundColor(null);
- assertNull(cellStyle.getFillBackgroundColorColor());
-
- cellStyle.setFillPattern(FillPatternType.NO_FILL);
- assertEquals(FillPatternType.NO_FILL, cellStyle.getFillPatternEnum());
-
- cellStyle.setBottomBorderColor(null);
- assertNull(cellStyle.getBottomBorderXSSFColor());
-
- cellStyle.setTopBorderColor(null);
- assertNull(cellStyle.getTopBorderXSSFColor());
-
- cellStyle.setLeftBorderColor(null);
- assertNull(cellStyle.getLeftBorderXSSFColor());
-
- cellStyle.setRightBorderColor(null);
- assertNull(cellStyle.getRightBorderXSSFColor());
-
- workbook.close();
- }
- }
|