git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@708497 13f79535-47bb-0310-9956-ffa450edef68tags/ooxml_20081107
@@ -519,7 +519,7 @@ under the License. | |||
</javac> | |||
</target> | |||
<target name="compile-ooxml" depends="init, check-ooxml-xsds, fetch-ooxml-xsds, compile-ooxml-xsds, compile-main"> | |||
<target name="compile-ooxml" depends="init, check-ooxml-xsds, fetch-ooxml-xsds, compile-ooxml-xsds, compile-main, compile-scratchpad"> | |||
<!-- openxml4j requires java 1.5, so so must we, for now --> | |||
<javac target="1.5" source="1.5" | |||
destdir="${ooxml.output.dir}" debug="on" srcdir="${ooxml.src}"> |
@@ -18,12 +18,8 @@ package org.apache.poi.xssf.usermodel.examples; | |||
import java.io.FileOutputStream; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Row; | |||
import org.apache.poi.ss.usermodel.Sheet; | |||
import org.apache.poi.ss.usermodel.Workbook; | |||
import org.apache.poi.xssf.usermodel.IndexedColors; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.ss.usermodel.IndexedColors; | |||
import org.apache.poi.xssf.usermodel.XSSFRichTextString; | |||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |||
@@ -18,15 +18,9 @@ package org.apache.poi.xssf.usermodel.examples; | |||
import java.io.FileOutputStream; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.CreationHelper; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.Hyperlink; | |||
import org.apache.poi.ss.usermodel.Sheet; | |||
import org.apache.poi.ss.usermodel.Workbook; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |||
import org.apache.poi.xssf.usermodel.IndexedColors; | |||
import org.apache.poi.ss.usermodel.IndexedColors; | |||
/** | |||
* Demonstrates how to create hyperlinks. |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.xssf.usermodel.examples; | |||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |||
import org.apache.poi.xssf.usermodel.IndexedColors; | |||
import org.apache.poi.ss.usermodel.IndexedColors; | |||
import org.apache.poi.ss.usermodel.*; | |||
import java.io.FileOutputStream; |
@@ -16,13 +16,9 @@ | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel.examples; | |||
import org.apache.poi.hssf.usermodel.HSSFFont; | |||
import org.apache.poi.hssf.util.HSSFColor; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |||
import org.apache.poi.xssf.usermodel.XSSFRichTextString; | |||
import org.apache.poi.xssf.usermodel.IndexedColors; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor; | |||
import org.apache.poi.ss.usermodel.IndexedColors; | |||
import java.io.FileOutputStream; | |||
@@ -18,13 +18,8 @@ package org.apache.poi.xssf.usermodel.examples; | |||
import org.apache.poi.xssf.usermodel.*; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.hssf.util.HSSFColor; | |||
import org.apache.xmlbeans.XmlOptions; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; | |||
import java.io.FileOutputStream; | |||
import java.io.Writer; | |||
import java.io.StringWriter; | |||
/** | |||
* Demonstrates how to work with rich text |
@@ -19,7 +19,6 @@ package org.apache.poi.hssf.usermodel; | |||
import org.apache.poi.hssf.record.PaletteRecord; | |||
import org.apache.poi.hssf.util.HSSFColor; | |||
import org.apache.poi.ss.usermodel.Palette; | |||
/** | |||
* Represents a workbook color palette. | |||
@@ -29,7 +28,7 @@ import org.apache.poi.ss.usermodel.Palette; | |||
* | |||
* @author Brian Sanders (bsanders at risklabs dot com) | |||
*/ | |||
public class HSSFPalette implements Palette | |||
public class HSSFPalette | |||
{ | |||
private PaletteRecord palette; | |||
@@ -25,7 +25,6 @@ import org.apache.poi.ddf.EscherComplexProperty; | |||
import org.apache.poi.ddf.EscherOptRecord; | |||
import org.apache.poi.ddf.EscherProperty; | |||
import org.apache.poi.hssf.record.EscherAggregate; | |||
import org.apache.poi.ss.usermodel.Patriarch; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
@@ -35,7 +34,7 @@ import org.apache.poi.util.StringUtil; | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
*/ | |||
public class HSSFPatriarch | |||
implements HSSFShapeContainer, Patriarch | |||
implements HSSFShapeContainer | |||
{ | |||
List shapes = new ArrayList(); | |||
HSSFSheet sheet; |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* The enumeration value indicating the line style of a border in a cell, |
@@ -227,7 +227,7 @@ public interface CellStyle { | |||
public final static short LEAST_DOTS = 18; | |||
/** | |||
* get the index within the HSSFWorkbook (sequence within the collection of ExtnededFormat objects) | |||
* get the index within the Workbook (sequence within the collection of ExtnededFormat objects) | |||
* @return unique index number of the underlying record this style represents (probably you don't care | |||
* unless you're comparing which one is which) | |||
*/ | |||
@@ -236,14 +236,14 @@ public interface CellStyle { | |||
/** | |||
* set the data format (must be a valid format) | |||
* @see org.apache.poi.hssf.usermodel.HSSFDataFormat | |||
* @see DataFormat | |||
*/ | |||
void setDataFormat(short fmt); | |||
/** | |||
* get the index of the format | |||
* @see org.apache.poi.hssf.usermodel.HSSFDataFormat | |||
* @see DataFormat | |||
*/ | |||
short getDataFormat(); | |||
@@ -252,27 +252,18 @@ public interface CellStyle { | |||
*/ | |||
public String getDataFormatString(); | |||
/** | |||
* Get the contents of the format string, by looking up | |||
* the DataFormat against the supplied workbook | |||
* @see org.apache.poi.hssf.usermodel.HSSFDataFormat | |||
* XXX Commented out because it uses internal implementation Workbook class. | |||
* | |||
String getDataFormatString(Workbook workbook); | |||
*/ | |||
/** | |||
* set the font for this style | |||
* @param font a font object created or retreived from the HSSFWorkbook object | |||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#createFont() | |||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#getFontAt(short) | |||
* @param font a font object created or retreived from the Workbook object | |||
* @see Workbook#createFont() | |||
* @see Workbook#getFontAt(short) | |||
*/ | |||
void setFont(Font font); | |||
/** | |||
* gets the index of the font for this style | |||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#getFontAt(short) | |||
* @see Workbook#getFontAt(short) | |||
*/ | |||
short getFontIndex(); | |||
@@ -571,8 +562,6 @@ public interface CellStyle { | |||
/** | |||
* get the color to use for the left border | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @param color The index of the color definition | |||
*/ | |||
short getLeftBorderColor(); | |||
@@ -584,8 +573,7 @@ public interface CellStyle { | |||
/** | |||
* get the color to use for the left border | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @param color The index of the color definition | |||
* @return the index of the color definition | |||
*/ | |||
short getRightBorderColor(); | |||
@@ -597,8 +585,7 @@ public interface CellStyle { | |||
/** | |||
* get the color to use for the top border | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @param color The index of the color definition | |||
* @return hhe index of the color definition | |||
*/ | |||
short getTopBorderColor(); | |||
@@ -610,8 +597,7 @@ public interface CellStyle { | |||
/** | |||
* get the color to use for the left border | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @param color The index of the color definition | |||
* @return the index of the color definition | |||
*/ | |||
short getBottomBorderColor(); | |||
@@ -650,26 +636,6 @@ public interface CellStyle { | |||
/** | |||
* set the background fill color. | |||
* <p> | |||
* For example: | |||
* <pre> | |||
* cs.setFillPattern(HSSFCellStyle.FINE_DOTS ); | |||
* cs.setFillBackgroundColor(new HSSFColor.RED().getIndex()); | |||
* </pre> | |||
* optionally a Foreground and background fill can be applied: | |||
* <i>Note: Ensure Foreground color is set prior to background</i> | |||
* <pre> | |||
* cs.setFillPattern(HSSFCellStyle.FINE_DOTS ); | |||
* cs.setFillForegroundColor(new HSSFColor.BLUE().getIndex()); | |||
* cs.setFillBackgroundColor(new HSSFColor.RED().getIndex()); | |||
* </pre> | |||
* or, for the special case of SOLID_FILL: | |||
* <pre> | |||
* cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND ); | |||
* cs.setFillForegroundColor(new HSSFColor.RED().getIndex()); | |||
* </pre> | |||
* It is necessary to set the fill style in order | |||
* for the color to be shown in the cell. | |||
* | |||
* @param bg color | |||
*/ | |||
@@ -678,7 +644,6 @@ public interface CellStyle { | |||
/** | |||
* get the background fill color | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @return fill color | |||
*/ | |||
short getFillBackgroundColor(); | |||
@@ -692,7 +657,6 @@ public interface CellStyle { | |||
/** | |||
* get the foreground fill color | |||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short) | |||
* @return fill color | |||
*/ | |||
short getFillForegroundColor(); |
@@ -1,36 +0,0 @@ | |||
/* ==================================================================== | |||
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.ss.usermodel; | |||
/** | |||
* Allows the getting and saving of cell comments, | |||
* associated with a given sheet. | |||
*/ | |||
public interface CommentsSource { | |||
public String getAuthor(long authorId); | |||
public int getNumberOfComments(); | |||
public int findAuthor(String author); | |||
public Comment findCellComment(int row, int column); | |||
public Comment findCellComment(String cellRef); | |||
public Comment addComment(); | |||
} |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* The enumeration value indicating the style of fill pattern being used for a cell format. |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* The enumeration value indicating horizontal alignment of a cell, |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* A deprecated indexing scheme for colours that is still required for some records, and for backwards |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* Specifies printed page order. |
@@ -1,75 +0,0 @@ | |||
/* ==================================================================== | |||
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.ss.usermodel; | |||
public interface Palette { | |||
/** | |||
* Retrieves the color at a given index | |||
* | |||
* @param index the palette index, between 0x8 to 0x40 inclusive | |||
* @return the color, or null if the index is not populated | |||
*/ | |||
Color getColor(short index); | |||
/** | |||
* Finds the first occurance of a given color | |||
* | |||
* @param red the RGB red component, between 0 and 255 inclusive | |||
* @param green the RGB green component, between 0 and 255 inclusive | |||
* @param blue the RGB blue component, between 0 and 255 inclusive | |||
* @return the color, or null if the color does not exist in this palette | |||
*/ | |||
Color findColor(byte red, byte green, byte blue); | |||
/** | |||
* Finds the closest matching color in the custom palette. The | |||
* method for finding the distance between the colors is fairly | |||
* primative. | |||
* | |||
* @param red The red component of the color to match. | |||
* @param green The green component of the color to match. | |||
* @param blue The blue component of the color to match. | |||
* @return The closest color or null if there are no custom | |||
* colors currently defined. | |||
*/ | |||
Color findSimilarColor(byte red, byte green, byte blue); | |||
/** | |||
* Sets the color at the given offset | |||
* | |||
* @param index the palette index, between 0x8 to 0x40 inclusive | |||
* @param red the RGB red component, between 0 and 255 inclusive | |||
* @param green the RGB green component, between 0 and 255 inclusive | |||
* @param blue the RGB blue component, between 0 and 255 inclusive | |||
*/ | |||
void setColorAtIndex(short index, byte red, byte green, byte blue); | |||
/** | |||
* Adds a new color into an empty color slot. | |||
* @param red The red component | |||
* @param green The green component | |||
* @param blue The blue component | |||
* | |||
* @return The new custom color. | |||
* | |||
* @throws RuntimeException if there are more more free color indexes. | |||
*/ | |||
Color addColor(byte red, byte green, byte blue); | |||
} |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* The enumeration value indicating the possible paper size for a sheet |
@@ -1,124 +0,0 @@ | |||
/* ==================================================================== | |||
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.ss.usermodel; | |||
import java.util.List; | |||
import org.apache.poi.hssf.usermodel.HSSFAnchor; | |||
import org.apache.poi.hssf.usermodel.HSSFClientAnchor; | |||
import org.apache.poi.hssf.usermodel.HSSFComment; | |||
import org.apache.poi.hssf.usermodel.HSSFPicture; | |||
import org.apache.poi.hssf.usermodel.HSSFPolygon; | |||
import org.apache.poi.hssf.usermodel.HSSFShapeGroup; | |||
import org.apache.poi.hssf.usermodel.HSSFSimpleShape; | |||
import org.apache.poi.hssf.usermodel.HSSFTextbox; | |||
public interface Patriarch { | |||
/** | |||
* Creates a new group record stored under this patriarch. | |||
* | |||
* @param anchor the client anchor describes how this group is attached | |||
* to the sheet. | |||
* @return the newly created group. | |||
*/ | |||
HSSFShapeGroup createGroup(HSSFClientAnchor anchor); | |||
/** | |||
* Creates a simple shape. This includes such shapes as lines, rectangles, | |||
* and ovals. | |||
* | |||
* @param anchor the client anchor describes how this group is attached | |||
* to the sheet. | |||
* @return the newly created shape. | |||
*/ | |||
HSSFSimpleShape createSimpleShape(HSSFClientAnchor anchor); | |||
/** | |||
* Creates a picture. | |||
* | |||
* @param anchor the client anchor describes how this group is attached | |||
* to the sheet. | |||
* @return the newly created shape. | |||
*/ | |||
HSSFPicture createPicture(HSSFClientAnchor anchor, int pictureIndex); | |||
/** | |||
* Creates a polygon | |||
* | |||
* @param anchor the client anchor describes how this group is attached | |||
* to the sheet. | |||
* @return the newly created shape. | |||
*/ | |||
HSSFPolygon createPolygon(HSSFClientAnchor anchor); | |||
/** | |||
* Constructs a textbox under the patriarch. | |||
* | |||
* @param anchor the client anchor describes how this group is attached | |||
* to the sheet. | |||
* @return the newly created textbox. | |||
*/ | |||
HSSFTextbox createTextbox(HSSFClientAnchor anchor); | |||
/** | |||
* Constructs a cell comment. | |||
* | |||
* @param anchor the client anchor describes how this comment is attached | |||
* to the sheet. | |||
* @return the newly created comment. | |||
*/ | |||
HSSFComment createComment(HSSFAnchor anchor); | |||
/** | |||
* Returns a list of all shapes contained by the patriarch. | |||
*/ | |||
List getChildren(); | |||
/** | |||
* Total count of all children and their children's children. | |||
*/ | |||
int countOfAllChildren(); | |||
/** | |||
* Sets the coordinate space of this group. All children are contrained | |||
* to these coordinates. | |||
*/ | |||
void setCoordinates(int x1, int y1, int x2, int y2); | |||
/** | |||
* The top left x coordinate of this group. | |||
*/ | |||
int getX1(); | |||
/** | |||
* The top left y coordinate of this group. | |||
*/ | |||
int getY1(); | |||
/** | |||
* The bottom right x coordinate of this group. | |||
*/ | |||
int getX2(); | |||
/** | |||
* The bottom right y coordinate of this group. | |||
*/ | |||
int getY2(); | |||
} |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* These enumerations specify how cell comments shall be displayed for paper printing purposes. |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* The enumeration value indicating the print orientation for a sheet. |
@@ -21,10 +21,6 @@ import java.lang.Iterable; | |||
import java.util.Iterator; | |||
public interface Row extends Iterable<Cell> { | |||
// used for collections | |||
public final static int INITIAL_CAPACITY = 5; | |||
/** | |||
* Use this to create new cells within the row and return it. | |||
* <p> |
@@ -14,7 +14,7 @@ | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* All known types of automatic shapes in DrawingML |
@@ -45,20 +45,12 @@ public interface Sheet extends Iterable<Row> { | |||
public static final byte PANE_UPPER_LEFT = (byte) 3; | |||
/** | |||
* Used for compile-time optimization. This is the initial size for the collection of | |||
* rows. It is currently set to 20. If you generate larger sheets you may benefit | |||
* by setting this to a higher number and recompiling a custom edition of HSSFSheet. | |||
*/ | |||
public final static int INITIAL_CAPACITY = 20; | |||
/** | |||
* Create a new row within the sheet and return the high level representation | |||
* | |||
* @param rownum row number | |||
* @return High level HSSFRow object representing a row in the sheet | |||
* @see org.apache.poi.hssf.usermodel.HSSFRow | |||
* @return High level Row object representing a row in the sheet | |||
* @see Row | |||
* @see #removeRow(Row) | |||
*/ | |||
Row createRow(int rownum); | |||
@@ -75,7 +67,7 @@ public interface Sheet extends Iterable<Row> { | |||
* Returns the logical row (not physical) 0-based. If you ask for a row that is not | |||
* defined you get a null. This is to say row 4 represents the fifth row on a sheet. | |||
* @param rownum row to get | |||
* @return HSSFRow representing the rownumber or null if its not defined on the sheet | |||
* @return Row representing the rownumber or null if its not defined on the sheet | |||
*/ | |||
Row getRow(int rownum); |
@@ -1,30 +0,0 @@ | |||
/* ==================================================================== | |||
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.ss.usermodel; | |||
public interface StylesSource { | |||
public String getNumberFormatAt(long idx); | |||
public long putNumberFormat(String fmt); | |||
public Font getFontAt(long idx); | |||
public long putFont(Font font); | |||
public CellStyle getStyleAt(long idx); | |||
public long putStyle(CellStyle style); | |||
} |
@@ -15,7 +15,7 @@ | |||
limitations under the License. | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
package org.apache.poi.ss.usermodel; | |||
/** | |||
* This enumeration value indicates the type of vertical alignment for a cell, i.e., |
@@ -25,15 +25,6 @@ import org.apache.poi.ss.usermodel.Row.MissingCellPolicy; | |||
public interface Workbook { | |||
/** | |||
* used for compile-time performance/memory optimization. This determines the | |||
* initial capacity for the sheet collection. Its currently set to 3. | |||
* Changing it in this release will decrease performance | |||
* since you're never allowed to have more or less than three sheets! | |||
*/ | |||
public final static int INITIAL_CAPACITY = 3; | |||
/** Extended windows meta file */ | |||
public static final int PICTURE_TYPE_EMF = 2; | |||
@@ -72,20 +63,11 @@ public interface Workbook { | |||
* This may be different from the "selected sheet" since excel seems to | |||
* allow you to show the data of one sheet when another is seen "selected" | |||
* in the tabs (at the bottom). | |||
* @see org.apache.poi.hssf.usermodel.HSSFSheet#setSelected(boolean) | |||
* @see Sheet#setSelected(boolean) | |||
* @param index | |||
*/ | |||
void setSelectedTab(short index); | |||
/** | |||
* gets the tab whose data is actually seen when the sheet is opened. | |||
* This may be different from the "selected sheet" since excel seems to | |||
* allow you to show the data of one sheet when another is seen "selected" | |||
* in the tabs (at the bottom). | |||
* @see org.apache.poi.hssf.usermodel.HSSFSheet#setSelected(boolean) | |||
*/ | |||
short getSelectedTab(); | |||
/** | |||
* set the sheet name. | |||
* Will throw IllegalArgumentException if the name is greater than 31 chars | |||
@@ -115,28 +97,28 @@ public interface Workbook { | |||
int getSheetIndex(Sheet sheet); | |||
/** | |||
* create an HSSFSheet for this HSSFWorkbook, adds it to the sheets and returns | |||
* create an Sheet for this Workbook, adds it to the sheets and returns | |||
* the high level representation. Use this to create new sheets. | |||
* | |||
* @return HSSFSheet representing the new sheet. | |||
* @return Sheet representing the new sheet. | |||
*/ | |||
Sheet createSheet(); | |||
/** | |||
* create an HSSFSheet from an existing sheet in the HSSFWorkbook. | |||
* create an Sheet from an existing sheet in the Workbook. | |||
* | |||
* @return HSSFSheet representing the cloned sheet. | |||
* @return Sheet representing the cloned sheet. | |||
*/ | |||
Sheet cloneSheet(int sheetNum); | |||
/** | |||
* create an HSSFSheet for this HSSFWorkbook, adds it to the sheets and returns | |||
* create an Sheet for this Workbook, adds it to the sheets and returns | |||
* the high level representation. Use this to create new sheets. | |||
* | |||
* @param sheetname sheetname to set for the sheet. | |||
* @return HSSFSheet representing the new sheet. | |||
* @return Sheet representing the new sheet. | |||
*/ | |||
Sheet createSheet(String sheetname); | |||
@@ -149,9 +131,9 @@ public interface Workbook { | |||
int getNumberOfSheets(); | |||
/** | |||
* Get the HSSFSheet object at the given index. | |||
* Get the Sheet object at the given index. | |||
* @param index of the sheet number (0-based physical & logical) | |||
* @return HSSFSheet at the provided index | |||
* @return Sheet at the provided index | |||
*/ | |||
Sheet getSheetAt(int index); | |||
@@ -159,7 +141,7 @@ public interface Workbook { | |||
/** | |||
* Get sheet with the given name | |||
* @param name of the sheet | |||
* @return HSSFSheet with the name provided or null if it does not exist | |||
* @return Sheet with the name provided or null if it does not exist | |||
*/ | |||
Sheet getSheet(String name); | |||
@@ -220,7 +202,7 @@ public interface Workbook { | |||
/** | |||
* get the font at the given index number | |||
* @param idx index number | |||
* @return HSSFFont at the index | |||
* @return XSSFFont at the index | |||
*/ | |||
Font getFontAt(short idx); | |||
@@ -242,7 +224,7 @@ public interface Workbook { | |||
/** | |||
* get the cell style object at the given index | |||
* @param idx index within the set of styles | |||
* @return HSSFCellStyle object at the index | |||
* @return CellStyle object at the index | |||
*/ | |||
CellStyle getCellStyleAt(short idx); | |||
@@ -271,12 +253,6 @@ public interface Workbook { | |||
*/ | |||
Name getNameAt(int index); | |||
/** gets the named range name | |||
* @param index the named range index (0 based) | |||
* @return named range name | |||
*/ | |||
String getNameName(int index); | |||
/** | |||
* Sets the printarea for the sheet provided | |||
* <p> | |||
@@ -346,10 +322,8 @@ public interface Workbook { | |||
void removeName(int index); | |||
/** | |||
* Returns the instance of HSSFDataFormat for this workbook. | |||
* @return the HSSFDataFormat object | |||
* @see org.apache.poi.hssf.record.FormatRecord | |||
* @see org.apache.poi.hssf.record.Record | |||
* Returns the instance of DataFormat for this workbook. | |||
* @return the DataFormat object | |||
*/ | |||
DataFormat createDataFormat(); | |||
@@ -1,67 +0,0 @@ | |||
/* ==================================================================== | |||
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.model; | |||
import java.io.ByteArrayOutputStream; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
/** | |||
* An implementation of XSSFModel for binary parts of | |||
* the file, eg images or vba macros | |||
*/ | |||
public class BinaryPart implements XSSFModel { | |||
private byte[] data; | |||
public BinaryPart(InputStream in) throws IOException { | |||
readFrom(in); | |||
} | |||
/** | |||
* Fetch the contents of the binary part | |||
*/ | |||
public byte[] getContents() { | |||
return data; | |||
} | |||
/** | |||
* Changes the contents of the binary part | |||
*/ | |||
public void setContents(byte[] data) { | |||
this.data = data; | |||
} | |||
/** | |||
* Reads the contents of the binary part in. | |||
*/ | |||
public void readFrom(InputStream is) throws IOException { | |||
int read = 0; | |||
byte[] buffer = new byte[4096]; | |||
ByteArrayOutputStream baos = new ByteArrayOutputStream(); | |||
while( (read = is.read(buffer)) != -1 ) { | |||
if(read > 0) { | |||
baos.write(buffer, 0, read); | |||
} | |||
} | |||
data = baos.toByteArray(); | |||
} | |||
public void writeTo(OutputStream out) throws IOException { | |||
out.write(data); | |||
} | |||
} |
@@ -20,12 +20,10 @@ import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
import org.apache.poi.ss.usermodel.CommentsSource; | |||
import org.apache.poi.ss.util.CellReference; | |||
import org.apache.poi.xssf.usermodel.XSSFComment; | |||
import org.apache.poi.POIXMLDocumentPart; | |||
import org.apache.xmlbeans.XmlException; | |||
import org.apache.xmlbeans.XmlOptions; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTAuthors; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCommentList; |
@@ -1,99 +0,0 @@ | |||
package org.apache.poi.xssf.model; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
import java.util.ArrayList; | |||
import org.apache.poi.xssf.usermodel.XSSFActiveXData; | |||
import org.apache.poi.xssf.usermodel.XSSFRelation; | |||
import org.apache.xmlbeans.XmlException; | |||
import org.apache.xmlbeans.XmlOptions; | |||
import org.openxml4j.opc.PackagePart; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTControl; | |||
/** | |||
* A control object in XSSF, which will typically | |||
* have active x data associated with it. | |||
*/ | |||
public class Control implements XSSFChildContainingModel { | |||
private CTControl control; | |||
private String originalId; | |||
private ArrayList<XSSFActiveXData> activexBins; | |||
public Control(InputStream is, String originalId) throws IOException { | |||
readFrom(is); | |||
this.originalId = originalId; | |||
this.activexBins = new ArrayList<XSSFActiveXData>(); | |||
} | |||
public String getOriginalId() { | |||
return this.originalId; | |||
} | |||
public Control() { | |||
this.control = CTControl.Factory.newInstance(); | |||
} | |||
/** | |||
* For unit testing only! | |||
*/ | |||
protected Control(CTControl control) { | |||
this.control = control; | |||
} | |||
public void readFrom(InputStream is) throws IOException { | |||
try { | |||
CTControl doc = CTControl.Factory.parse(is); | |||
control = doc; | |||
} catch (XmlException e) { | |||
throw new IOException(e.getLocalizedMessage()); | |||
} | |||
} | |||
public void writeTo(OutputStream out) throws IOException { | |||
XmlOptions options = new XmlOptions(); | |||
options.setSaveOuter(); | |||
options.setUseDefaultNamespace(); | |||
// Requests use of whitespace for easier reading | |||
options.setSavePrettyPrint(); | |||
control.save(out, options); | |||
} | |||
/** | |||
* We expect active x binary parts | |||
*/ | |||
public String[] getChildrenRelationshipTypes() { | |||
return new String[] { | |||
XSSFRelation.ACTIVEX_BINS.getRelation() | |||
}; | |||
} | |||
public int getNumberOfChildren() { | |||
return activexBins.size(); | |||
} | |||
/** | |||
* Generates and adds XSSFActiveXData children | |||
*/ | |||
public void generateChild(PackagePart childPart, String childRelId) { | |||
XSSFActiveXData actX = new XSSFActiveXData(childPart, childRelId); | |||
activexBins.add(actX); | |||
} | |||
public WritableChild getChildForWriting(int index) { | |||
if(index >= activexBins.size()) { | |||
throw new IllegalArgumentException("Can't get child at " + index + " when size is " + getNumberOfChildren()); | |||
} | |||
return new WritableChild( | |||
activexBins.get(index), | |||
XSSFRelation.ACTIVEX_BINS | |||
); | |||
} | |||
public ArrayList<XSSFActiveXData> getData() { | |||
return this.activexBins; | |||
} | |||
public void addData(XSSFActiveXData activeX) { | |||
this.activexBins.add(activeX); | |||
} | |||
} |
@@ -1,94 +0,0 @@ | |||
package org.apache.poi.xssf.model; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
import java.util.ArrayList; | |||
import org.apache.poi.xssf.usermodel.XSSFPictureData; | |||
import org.apache.poi.xssf.usermodel.XSSFRelation; | |||
import org.apache.xmlbeans.XmlException; | |||
import org.apache.xmlbeans.XmlOptions; | |||
import org.openxml4j.opc.PackagePart; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDrawing; | |||
/** | |||
* A drawing object in XSSF. May well have raw pictures | |||
* attached to it as children. | |||
*/ | |||
public class Drawing implements XSSFModel { | |||
private CTDrawing drawing; | |||
private String originalId; | |||
/** Raw pictures attached to the drawing */ | |||
private ArrayList<XSSFPictureData> pictures; | |||
public Drawing(InputStream is, String originalId) throws IOException { | |||
readFrom(is); | |||
this.originalId = originalId; | |||
this.pictures = new ArrayList<XSSFPictureData>(); | |||
} | |||
public String getOriginalId() { | |||
return this.originalId; | |||
} | |||
public Drawing() { | |||
this.drawing = CTDrawing.Factory.newInstance(); | |||
} | |||
/** | |||
* For unit testing only! | |||
*/ | |||
protected Drawing(CTDrawing drawing) { | |||
this.drawing = drawing; | |||
} | |||
public void readFrom(InputStream is) throws IOException { | |||
try { | |||
CTDrawing doc = CTDrawing.Factory.parse(is); | |||
drawing = doc; | |||
} catch (XmlException e) { | |||
throw new IOException(e.getLocalizedMessage()); | |||
} | |||
} | |||
public void writeTo(OutputStream out) throws IOException { | |||
XmlOptions options = new XmlOptions(); | |||
options.setSaveOuter(); | |||
options.setUseDefaultNamespace(); | |||
// Requests use of whitespace for easier reading | |||
//options.setSavePrettyPrint(); | |||
drawing.save(out, options); | |||
} | |||
/** | |||
* We expect image parts | |||
*/ | |||
public String[] getChildrenRelationshipTypes() { | |||
return new String[] { | |||
XSSFRelation.IMAGES.getRelation() | |||
}; | |||
} | |||
public int getNumberOfChildren() { | |||
return pictures.size(); | |||
} | |||
/** | |||
* Generates and adds XSSFActiveXData children | |||
*/ | |||
public void generateChild(PackagePart childPart, String childRelId) { | |||
//XSSFPictureData pd = new XSSFPictureData(childPart, childRelId); | |||
//pictures.add(pd); | |||
throw new RuntimeException("deprecated"); | |||
} | |||
public ArrayList<XSSFPictureData> getPictures() | |||
{ | |||
return this.pictures; | |||
} | |||
public void addPictures(XSSFPictureData picture) | |||
{ | |||
this.pictures.add(picture); | |||
} | |||
} |
@@ -1,28 +0,0 @@ | |||
/* ==================================================================== | |||
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.model; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst; | |||
/** | |||
* Allows the getting and saving of shared strings | |||
*/ | |||
public interface SharedStringSource { | |||
CTRst getEntryAt(int ref); | |||
int addEntry(CTRst rst); | |||
} |
@@ -23,15 +23,13 @@ import java.io.OutputStream; | |||
import java.util.ArrayList; | |||
import java.util.Enumeration; | |||
import java.util.Hashtable; | |||
import java.util.LinkedList; | |||
import java.util.List; | |||
import java.util.Map.Entry; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.StylesSource; | |||
import org.apache.poi.xssf.usermodel.FontFamily; | |||
import org.apache.poi.xssf.usermodel.FontScheme; | |||
import org.apache.poi.ss.usermodel.FontFamily; | |||
import org.apache.poi.ss.usermodel.FontScheme; | |||
import org.apache.poi.xssf.usermodel.XSSFCellStyle; | |||
import org.apache.poi.xssf.usermodel.XSSFFont; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder; |
@@ -1,67 +0,0 @@ | |||
package org.apache.poi.xssf.model; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
/* ==================================================================== | |||
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. | |||
==================================================================== */ | |||
import org.apache.xmlbeans.XmlException; | |||
import org.apache.xmlbeans.XmlOptions; | |||
import org.openxmlformats.schemas.drawingml.x2006.main.*; | |||
/** | |||
* An instance of this part type contains information about a document's theme, which is a combination of color | |||
* scheme, font scheme, and format scheme (the latter also being referred to as effects). | |||
* For a SpreadsheetML document, the choice of theme affects the color and style of cell contents and charts, | |||
* among other things. | |||
* | |||
* @author Yegor Kozlov | |||
*/ | |||
public class ThemeTable implements XSSFModel { | |||
private ThemeDocument doc; | |||
private String originalId; | |||
public ThemeTable(InputStream is, String originalId) throws IOException { | |||
readFrom(is); | |||
this.originalId = originalId; | |||
} | |||
public String getOriginalId() { | |||
return this.originalId; | |||
} | |||
public ThemeTable() { | |||
this.doc = ThemeDocument.Factory.newInstance(); | |||
} | |||
public void readFrom(InputStream is) throws IOException { | |||
try { | |||
doc = ThemeDocument.Factory.parse(is); | |||
} catch (XmlException e) { | |||
throw new IOException(e.getLocalizedMessage()); | |||
} | |||
} | |||
public void writeTo(OutputStream out) throws IOException { | |||
XmlOptions options = new XmlOptions(); | |||
options.setSaveOuter(); | |||
options.setUseDefaultNamespace(); | |||
doc.save(out, options); | |||
} | |||
} |
@@ -17,9 +17,7 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.StylesSource; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.xssf.model.StylesTable; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellAlignment; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder; | |||
@@ -310,7 +308,7 @@ public class XSSFCellStyle implements CellStyle, Cloneable { | |||
* Get the color to use for the bottom border | |||
* <br/> | |||
* Color is optional. When missing, IndexedColors.AUTOMATIC is implied. | |||
* @return the index of the color definition, default value is {@link IndexedColors.AUTOMATIC} | |||
* @return the index of the color definition, default value is {@link org.apache.poi.ss.usermodel.IndexedColors.AUTOMATIC} | |||
* @see IndexedColors | |||
*/ | |||
public short getBottomBorderColor() { | |||
@@ -664,7 +662,7 @@ public class XSSFCellStyle implements CellStyle, Cloneable { | |||
* Set the type of horizontal alignment for the cell | |||
* | |||
* @param align - the type of alignment | |||
* @see HorizontalAlignment | |||
* @see org.apache.poi.ss.usermodel.HorizontalAlignment | |||
*/ | |||
public void setAlignment(HorizontalAlignment align) { | |||
setAlignment((short)align.ordinal()); | |||
@@ -1192,7 +1190,7 @@ public class XSSFCellStyle implements CellStyle, Cloneable { | |||
* Set the color to use for the top border | |||
* | |||
* @param color the index of the color definition | |||
* @see IndexedColors | |||
* @see org.apache.poi.ss.usermodel.IndexedColors | |||
*/ | |||
public void setTopBorderColor(short color) { | |||
XSSFColor clr = new XSSFColor(); |
@@ -17,7 +17,6 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import org.apache.poi.ss.usermodel.Comment; | |||
import org.apache.poi.ss.usermodel.CommentsSource; | |||
import org.apache.poi.ss.usermodel.RichTextString; | |||
import org.apache.poi.xssf.usermodel.helpers.RichTextStringHelper; | |||
import org.apache.poi.xssf.model.CommentsTable; |
@@ -95,10 +95,10 @@ public class XSSFConnector extends XSSFShape { | |||
} | |||
/** | |||
* Gets the shape type, one of the constants defined in {@link org.apache.poi.xssf.usermodel.ShapeTypes}. | |||
* Gets the shape type, one of the constants defined in {@link org.apache.poi.ss.usermodel.ShapeTypes}. | |||
* | |||
* @return the shape type | |||
* @see org.apache.poi.xssf.usermodel.ShapeTypes | |||
* @see org.apache.poi.ss.usermodel.ShapeTypes | |||
*/ | |||
public int getShapeType() { | |||
return ctShape.getSpPr().getPrstGeom().getPrst().intValue(); | |||
@@ -107,8 +107,8 @@ public class XSSFConnector extends XSSFShape { | |||
/** | |||
* Sets the shape types. | |||
* | |||
* @param type the shape type, one of the constants defined in {@link org.apache.poi.xssf.usermodel.ShapeTypes}. | |||
* @see org.apache.poi.xssf.usermodel.ShapeTypes | |||
* @param type the shape type, one of the constants defined in {@link org.apache.poi.ss.usermodel.ShapeTypes}. | |||
* @see org.apache.poi.ss.usermodel.ShapeTypes | |||
*/ | |||
public void setShapeType(int type) { | |||
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type)); |
@@ -17,7 +17,6 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import org.apache.poi.ss.usermodel.DataFormat; | |||
import org.apache.poi.ss.usermodel.StylesSource; | |||
import org.apache.poi.xssf.model.StylesTable; | |||
/** |
@@ -39,6 +39,7 @@ public class XSSFDrawing extends POIXMLDocumentPart { | |||
* Root element of the SpreadsheetML Drawing part | |||
*/ | |||
private CTDrawing drawing; | |||
private boolean isNew; | |||
/** | |||
* Create a new SpreadsheetML drawing | |||
@@ -48,6 +49,7 @@ public class XSSFDrawing extends POIXMLDocumentPart { | |||
protected XSSFDrawing() { | |||
super(); | |||
drawing = newDrawing(); | |||
isNew = true; | |||
} | |||
/** | |||
@@ -91,7 +93,7 @@ public class XSSFDrawing extends POIXMLDocumentPart { | |||
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" | |||
xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"> | |||
*/ | |||
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTDrawing.type.getName().getNamespaceURI(), "wsDr", "xdr")); | |||
if(isNew) xmlOptions.setSaveSyntheticDocumentElement(new QName(CTDrawing.type.getName().getNamespaceURI(), "wsDr", "xdr")); | |||
Map map = new HashMap(); | |||
map.put("http://schemas.openxmlformats.org/drawingml/2006/main", "a"); | |||
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r"); |
@@ -32,7 +32,7 @@ final class XSSFEvaluationCell implements EvaluationCell { | |||
public XSSFEvaluationCell(XSSFCell cell) { | |||
_cell = cell; | |||
_evalSheet = new XSSFEvaluationSheet((XSSFSheet)cell.getSheet()); | |||
_evalSheet = new XSSFEvaluationSheet(cell.getSheet()); | |||
} | |||
public XSSFEvaluationCell(XSSFCell cell, XSSFEvaluationSheet evaluationSheet) { |
@@ -75,7 +75,7 @@ public final class XSSFEvaluationWorkbook implements FormulaRenderingWorkbook, E | |||
public EvaluationName getName(String name) { | |||
for(int i=0; i < _uBook.getNumberOfNames(); i++) { | |||
String nameText = _uBook.getNameName(i); | |||
String nameText = _uBook.getNameAt(i).getNameName(); | |||
if (name.equalsIgnoreCase(nameText)) { | |||
return new Name(_uBook.getNameAt(i), i, this); | |||
} |
@@ -16,9 +16,7 @@ | |||
==================================================================== */ | |||
package org.apache.poi.xssf.usermodel; | |||
import java.util.ArrayList; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor; | |||
import org.apache.poi.xssf.model.StylesTable; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; | |||
@@ -92,7 +90,7 @@ public class XSSFFont implements Font { | |||
* get character-set to use. | |||
* | |||
* @return byte - character-set | |||
* @see FontCharset | |||
* @see org.apache.poi.ss.usermodel.FontCharset | |||
*/ | |||
public byte getCharSet() { | |||
CTIntProperty charset = ctFont.sizeOfCharsetArray() == 0 ? null : ctFont.getCharsetArray(0); | |||
@@ -233,7 +231,7 @@ public class XSSFFont implements Font { | |||
* get type of text underlining to use | |||
* | |||
* @return byte - underlining type | |||
* @see FontUnderline | |||
* @see org.apache.poi.ss.usermodel.FontUnderline | |||
*/ | |||
public byte getUnderline() { | |||
CTUnderlineProperty underline = ctFont.sizeOfUArray() == 0 ? null : ctFont.getUArray(0); | |||
@@ -529,7 +527,7 @@ public class XSSFFont implements Font { | |||
* get the font family to use. | |||
* | |||
* @return the font family to use | |||
* @see FontFamily | |||
* @see org.apache.poi.ss.usermodel.FontFamily | |||
*/ | |||
public int getFamily() { | |||
CTIntProperty family = ctFont.sizeOfFamilyArray() == 0 ? ctFont.addNewFamily() : ctFont.getFamilyArray(0); |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import org.apache.poi.ss.usermodel.PrintSetup; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; | |||
@@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel; | |||
import java.io.IOException; | |||
import java.io.OutputStream; | |||
import java.io.InputStream; | |||
import java.util.*; | |||
import javax.xml.namespace.QName; | |||
@@ -110,12 +111,18 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet { | |||
@Override | |||
protected void onDocumentRead() { | |||
try { | |||
worksheet = WorksheetDocument.Factory.parse(getPackagePart().getInputStream()).getWorksheet(); | |||
} catch (XmlException e){ | |||
throw new POIXMLException(e); | |||
read(getPackagePart().getInputStream()); | |||
} catch (IOException e){ | |||
throw new POIXMLException(e); | |||
} | |||
} | |||
protected void read(InputStream is) throws IOException { | |||
try { | |||
worksheet = WorksheetDocument.Factory.parse(is).getWorksheet(); | |||
} catch (XmlException e){ | |||
throw new POIXMLException(e); | |||
} | |||
initRows(worksheet); | |||
columnHelper = new ColumnHelper(worksheet); | |||
@@ -1645,6 +1652,13 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet { | |||
@Override | |||
protected void commit() throws IOException { | |||
PackagePart part = getPackagePart(); | |||
OutputStream out = part.getOutputStream(); | |||
write(out); | |||
out.close(); | |||
} | |||
protected void write(OutputStream out) throws IOException { | |||
if(worksheet.getColsArray().length == 1) { | |||
CTCols col = worksheet.getColsArray(0); | |||
@@ -1682,15 +1696,10 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet { | |||
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS); | |||
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTWorksheet.type.getName().getNamespaceURI(), "worksheet")); | |||
Map map = new HashMap(); | |||
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r"); | |||
xmlOptions.setSaveSuggestedPrefixes(map); | |||
PackagePart part = getPackagePart(); | |||
OutputStream out = part.getOutputStream(); | |||
worksheet.save(out, xmlOptions); | |||
out.close(); | |||
} | |||
} |
@@ -23,7 +23,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; | |||
/** | |||
* Represents a shape with a predefined geometry in a SpreadsheetML drawing. | |||
* Possible shape types are defined in {@link ShapeTypes} | |||
* Possible shape types are defined in {@link org.apache.poi.ss.usermodel.ShapeTypes} | |||
* | |||
* @author Yegor Kozlov | |||
*/ | |||
@@ -109,10 +109,10 @@ public class XSSFSimpleShape extends XSSFShape { | |||
} | |||
/** | |||
* Gets the shape type, one of the constants defined in {@link ShapeTypes}. | |||
* Gets the shape type, one of the constants defined in {@link org.apache.poi.ss.usermodel.ShapeTypes}. | |||
* | |||
* @return the shape type | |||
* @see ShapeTypes | |||
* @see org.apache.poi.ss.usermodel.ShapeTypes | |||
*/ | |||
public int getShapeType() { | |||
return ctShape.getSpPr().getPrstGeom().getPrst().intValue(); | |||
@@ -121,8 +121,8 @@ public class XSSFSimpleShape extends XSSFShape { | |||
/** | |||
* Sets the shape types. | |||
* | |||
* @param type the shape type, one of the constants defined in {@link ShapeTypes}. | |||
* @see ShapeTypes | |||
* @param type the shape type, one of the constants defined in {@link org.apache.poi.ss.usermodel.ShapeTypes}. | |||
* @see org.apache.poi.ss.usermodel.ShapeTypes | |||
*/ | |||
public void setShapeType(int type) { | |||
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type)); |
@@ -17,9 +17,7 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import java.io.IOException; | |||
import java.io.OutputStream; | |||
import java.io.InputStream; | |||
import java.io.*; | |||
import java.util.*; | |||
import javax.xml.namespace.QName; | |||
import org.apache.poi.POIXMLDocument; | |||
@@ -102,7 +100,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X | |||
*/ | |||
private List<XSSFPictureData> pictures; | |||
private static POILogger log = POILogFactory.getLogger(XSSFWorkbook.class); | |||
private static POILogger logger = POILogFactory.getLogger(XSSFWorkbook.class); | |||
/** | |||
* Create a new SpreadsheetML workbook. | |||
@@ -176,7 +174,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X | |||
for (CTSheet ctSheet : this.workbook.getSheets().getSheetArray()) { | |||
XSSFSheet sh = shIdMap.get(ctSheet.getId()); | |||
if(sh == null) { | |||
log.log(POILogger.WARN, "Sheet with name " + ctSheet.getName() + " and r:id " + ctSheet.getId()+ " was defined, but didn't exist in package, skipping"); | |||
logger.log(POILogger.WARN, "Sheet with name " + ctSheet.getName() + " and r:id " + ctSheet.getId()+ " was defined, but didn't exist in package, skipping"); | |||
continue; | |||
} | |||
sh.sheet = ctSheet; | |||
@@ -303,29 +301,78 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X | |||
return imageNumber - 1; | |||
} | |||
/** | |||
* Create an XSSFSheet from an existing sheet in the XSSFWorkbook. | |||
* The cloned sheet is a deep copy of the original. | |||
* | |||
* @return XSSFSheet representing the cloned sheet. | |||
* @throws IllegalArgumentException if the sheet index in invalid | |||
* @throws POIXMLException if there were errors when cloning | |||
*/ | |||
public XSSFSheet cloneSheet(int sheetNum) { | |||
validateSheetIndex(sheetNum); | |||
XSSFSheet srcSheet = sheets.get(sheetNum); | |||
String srcName = getSheetName(sheetNum); | |||
int i = 1; | |||
String name = srcName; | |||
String srcName = srcSheet.getSheetName(); | |||
String clonedName = getUniqueSheetName(srcName); | |||
XSSFSheet clonedSheet = createSheet(clonedName); | |||
try { | |||
ByteArrayOutputStream out = new ByteArrayOutputStream(); | |||
srcSheet.write(out); | |||
clonedSheet.read(new ByteArrayInputStream(out.toByteArray())); | |||
} catch (IOException e){ | |||
throw new POIXMLException("Failed to clone sheet", e); | |||
} | |||
CTWorksheet ct = clonedSheet.getCTWorksheet(); | |||
if(ct.isSetDrawing()) { | |||
logger.log(POILogger.WARN, "Cloning sheets with drawings is not yet supported."); | |||
ct.unsetDrawing(); | |||
} | |||
if(ct.isSetLegacyDrawing()) { | |||
logger.log(POILogger.WARN, "Cloning sheets with comments is not yet supported."); | |||
ct.unsetLegacyDrawing(); | |||
} | |||
clonedSheet.setSelected(false); | |||
return clonedSheet; | |||
} | |||
/** | |||
* Generate a valid sheet name based on the existing one. Used when cloning sheets. | |||
* | |||
* @param srcName the original sheet name to | |||
* @return clone sheet name | |||
*/ | |||
private String getUniqueSheetName(String srcName) { | |||
int uniqueIndex = 2; | |||
String baseName = srcName; | |||
int bracketPos = srcName.lastIndexOf('('); | |||
if (bracketPos > 0 && srcName.endsWith(")")) { | |||
String suffix = srcName.substring(bracketPos + 1, srcName.length() - ")".length()); | |||
try { | |||
uniqueIndex = Integer.parseInt(suffix.trim()); | |||
uniqueIndex++; | |||
baseName = srcName.substring(0, bracketPos).trim(); | |||
} catch (NumberFormatException e) { | |||
// contents of brackets not numeric | |||
} | |||
} | |||
while (true) { | |||
//Try and find the next sheet name that is unique | |||
String index = Integer.toString(i++); | |||
if (name.length() + index.length() + 2 < 31) { | |||
name = name + "("+index+")"; | |||
// Try and find the next sheet name that is unique | |||
String index = Integer.toString(uniqueIndex++); | |||
String name; | |||
if (baseName.length() + index.length() + 2 < 31) { | |||
name = baseName + " (" + index + ")"; | |||
} else { | |||
name = name.substring(0, 31 - index.length() - 2) + "(" +index + ")"; | |||
name = baseName.substring(0, 31 - index.length() - 2) + "(" + index + ")"; | |||
} | |||
//If the sheet name is unique, then set it otherwise move on to the next number. | |||
if (getSheetIndex(name) == -1) { | |||
break; | |||
return name; | |||
} | |||
} | |||
XSSFSheet clonedSheet = createSheet(name); | |||
clonedSheet.getCTWorksheet().set(srcSheet.getCTWorksheet()); | |||
return clonedSheet; | |||
} | |||
/** | |||
@@ -518,18 +565,6 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X | |||
return namedRanges.get(index); | |||
} | |||
/** | |||
* Gets the Named range name at the given index number, | |||
* this method is equivalent to <code>getNameAt(index).getName()</code> | |||
* | |||
* @param index the named range index (0 based) | |||
* @return named range name | |||
* @see #getNameAt(int) | |||
*/ | |||
public String getNameName(int index) { | |||
return getNameAt(index).getNameName(); | |||
} | |||
/** | |||
* Gets the named range index by his name | |||
* <i>Note:</i>Excel named ranges are case-insensitive and | |||
@@ -598,21 +633,6 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X | |||
} | |||
/** | |||
* deprecated May 2008 | |||
* @deprecated - Misleading name - use getActiveSheetIndex() | |||
*/ | |||
public short getSelectedTab() { | |||
short i = 0; | |||
for (XSSFSheet sheet : this.sheets) { | |||
if (sheet.isSelected()) { | |||
return i; | |||
} | |||
++i; | |||
} | |||
return -1; | |||
} | |||
/** | |||
* Get sheet with the given name (case insensitive match) | |||
* |
@@ -19,8 +19,8 @@ package org.apache.poi.xssf.usermodel.extensions; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCellAlignment; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment; | |||
import org.apache.poi.xssf.usermodel.HorizontalAlignment; | |||
import org.apache.poi.xssf.usermodel.VerticalAlignment; | |||
import org.apache.poi.ss.usermodel.HorizontalAlignment; | |||
import org.apache.poi.ss.usermodel.VerticalAlignment; | |||
/** |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.xssf.usermodel.extensions; | |||
import org.apache.poi.xssf.usermodel.BorderStyle; | |||
import org.apache.poi.ss.usermodel.BorderStyle; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle; |
@@ -17,15 +17,16 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import junit.framework.AssertionFailedError; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.VerticalAlignment; | |||
import org.apache.poi.ss.usermodel.IndexedColors; | |||
import org.apache.poi.ss.usermodel.HorizontalAlignment; | |||
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.apache.poi.xssf.usermodel.extensions.XSSFColor; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder.BorderSide; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.usermodel.HSSFCellStyle; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; |
@@ -2,11 +2,7 @@ package org.apache.poi.xssf.usermodel; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.Row; | |||
import org.apache.poi.ss.usermodel.Sheet; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.xssf.XSSFTestDataSamples; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty; |
@@ -20,6 +20,10 @@ package org.apache.poi.xssf.usermodel; | |||
import junit.framework.TestCase; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; | |||
import org.apache.poi.ss.usermodel.PaperSize; | |||
import org.apache.poi.ss.usermodel.PageOrder; | |||
import org.apache.poi.ss.usermodel.PrintOrientation; | |||
import org.apache.poi.ss.usermodel.PrintCellComments; | |||
/** | |||
* Tests for {@link XSSFPrintSetup} |
@@ -19,19 +19,13 @@ package org.apache.poi.xssf.usermodel; | |||
import java.io.File; | |||
import java.io.FileOutputStream; | |||
import java.io.IOException; | |||
import java.io.OutputStream; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.hssf.HSSFTestDataSamples; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Font; | |||
import org.apache.poi.ss.usermodel.Name; | |||
import org.apache.poi.ss.usermodel.RichTextString; | |||
import org.apache.poi.ss.usermodel.Sheet; | |||
import org.apache.poi.ss.usermodel.StylesSource; | |||
import org.apache.poi.ss.usermodel.Workbook; | |||
import org.apache.poi.ss.usermodel.*; | |||
import org.apache.poi.ss.util.CellRangeAddress; | |||
import org.apache.poi.xssf.XSSFTestDataSamples; | |||
import org.apache.poi.xssf.model.StylesTable; | |||
import org.openxml4j.opc.ContentTypes; | |||
@@ -99,17 +93,6 @@ public final class TestXSSFWorkbook extends TestCase { | |||
assertSame(sheet1, workbook.getSheetAt(0)); | |||
} | |||
public void testSetSelectedTab() { | |||
XSSFWorkbook workbook = new XSSFWorkbook(); | |||
workbook.createSheet("sheet1"); | |||
workbook.createSheet("sheet2"); | |||
assertEquals(0, workbook.getSelectedTab()); | |||
workbook.setSelectedTab((short) 0); | |||
assertEquals(0, workbook.getSelectedTab()); | |||
workbook.setSelectedTab((short) 1); | |||
assertEquals(1, workbook.getSelectedTab()); | |||
} | |||
public void testSetSheetName() { | |||
XSSFWorkbook workbook = new XSSFWorkbook(); | |||
workbook.createSheet("sheet1"); | |||
@@ -119,16 +102,32 @@ public final class TestXSSFWorkbook extends TestCase { | |||
} | |||
public void testCloneSheet() { | |||
XSSFWorkbook workbook = new XSSFWorkbook(); | |||
workbook.createSheet("sheet"); | |||
workbook.cloneSheet(0); | |||
assertEquals(2, workbook.getNumberOfSheets()); | |||
assertEquals("sheet(1)", workbook.getSheetName(1)); | |||
workbook.setSheetName(1, "clonedsheet"); | |||
workbook.cloneSheet(1); | |||
assertEquals(3, workbook.getNumberOfSheets()); | |||
assertEquals("clonedsheet(1)", workbook.getSheetName(2)); | |||
} | |||
XSSFWorkbook book = new XSSFWorkbook(); | |||
XSSFSheet sheet = book.createSheet("TEST"); | |||
sheet.createRow(0).createCell(0).setCellValue("Test"); | |||
sheet.createRow(1).createCell(0).setCellValue(36.6); | |||
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 2)); | |||
sheet.addMergedRegion(new CellRangeAddress(1, 2, 0, 2)); | |||
assertTrue(sheet.isSelected()); | |||
XSSFSheet clonedSheet = book.cloneSheet(0); | |||
assertEquals("TEST (2)", clonedSheet.getSheetName()); | |||
assertEquals(2, clonedSheet.getPhysicalNumberOfRows()); | |||
assertEquals(2, clonedSheet.getNumMergedRegions()); | |||
assertFalse(clonedSheet.isSelected()); | |||
//cloned sheet is a deep copy, adding rows in the original does not affect the clone | |||
sheet.createRow(2).createCell(0).setCellValue(1); | |||
sheet.addMergedRegion(new CellRangeAddress(0, 2, 0, 2)); | |||
assertEquals(2, clonedSheet.getPhysicalNumberOfRows()); | |||
assertEquals(2, clonedSheet.getPhysicalNumberOfRows()); | |||
clonedSheet.createRow(2).createCell(0).setCellValue(1); | |||
clonedSheet.addMergedRegion(new CellRangeAddress(0, 2, 0, 2)); | |||
assertEquals(3, clonedSheet.getPhysicalNumberOfRows()); | |||
assertEquals(3, clonedSheet.getPhysicalNumberOfRows()); | |||
} | |||
public void testGetSheetByName() { | |||
XSSFWorkbook workbook = new XSSFWorkbook(); | |||
@@ -209,19 +208,6 @@ public final class TestXSSFWorkbook extends TestCase { | |||
nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1); | |||
if (false) { | |||
// In case you fancy checking in excel, to ensure it | |||
// won't complain about the file now | |||
try { | |||
File tempFile = File.createTempFile("POI-45126-", ".xlsx"); | |||
FileOutputStream fout = new FileOutputStream(tempFile); | |||
nwb.write(fout); | |||
fout.close(); | |||
} catch (IOException e) { | |||
throw new RuntimeException(e); | |||
} | |||
} | |||
} | |||
@@ -327,7 +313,6 @@ public final class TestXSSFWorkbook extends TestCase { | |||
Font font=workbook.createFont(); | |||
((XSSFFont)font).setBold(true); | |||
font.setUnderline(Font.U_DOUBLE); | |||
StylesTable styleSource=new StylesTable(); | |||
fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK.getIndex(), (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE); | |||
assertNull(fontFind); | |||
} | |||
@@ -440,8 +425,7 @@ public final class TestXSSFWorkbook extends TestCase { | |||
StylesTable ss = workbook.getStylesSource(); | |||
assertNotNull(ss); | |||
assertTrue(ss instanceof StylesTable); | |||
StylesTable st = (StylesTable)ss; | |||
StylesTable st = ss; | |||
// Has 8 number formats | |||
assertEquals(8, st._getNumberFormatSize()); | |||
@@ -467,9 +451,7 @@ public final class TestXSSFWorkbook extends TestCase { | |||
ss = workbook.getStylesSource(); | |||
assertNotNull(ss); | |||
assertTrue(ss instanceof StylesTable); | |||
st = (StylesTable)ss; | |||
assertEquals(10, st._getNumberFormatSize()); | |||
assertEquals(2, st._getFontsSize()); | |||
assertEquals(2, st._getFillsSize()); | |||
@@ -502,7 +484,7 @@ public final class TestXSSFWorkbook extends TestCase { | |||
assertEquals("ForB3", workbook.getNameAt(1).getNameName()); | |||
assertEquals("B3 Comment", workbook.getNameAt(1).getComment()); | |||
assertEquals("ForA2", workbook.getNameName(0)); | |||
assertEquals("ForA2", workbook.getNameAt(0).getNameName()); | |||
assertEquals(1, workbook.getNameIndex("ForB3")); | |||
assertEquals(-1, workbook.getNameIndex("ForB3!!")); | |||
@@ -19,7 +19,7 @@ package org.apache.poi.xssf.usermodel.extensions; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.xssf.usermodel.BorderStyle; | |||
import org.apache.poi.ss.usermodel.BorderStyle; | |||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder.BorderSide; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr; |
@@ -18,7 +18,6 @@ | |||
package org.apache.poi.xssf.usermodel.extensions; | |||
import org.apache.poi.xssf.usermodel.FillPatternType; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill; |