1. moved ooxml enums into interfaces-jdk15, they are common and should be in the place as the interfaces 2. removed obsolete and deprecated classes 3. Fixed XSSFWorkbook.cloneSheet. Now it makes a 'true' deep copy of a sheet 4. ooxml has a compile-time dependency on scratchpad, fixed build.xml to reflect that
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@708497 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8a6625a237
commit
9148feb877
@ -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+")";
|
||||
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,15 +102,31 @@ 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() {
|
||||
@ -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,8 +451,6 @@ 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());
|
||||
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user