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>
|
</javac>
|
||||||
</target>
|
</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 -->
|
<!-- openxml4j requires java 1.5, so so must we, for now -->
|
||||||
<javac target="1.5" source="1.5"
|
<javac target="1.5" source="1.5"
|
||||||
destdir="${ooxml.output.dir}" debug="on" srcdir="${ooxml.src}">
|
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 java.io.FileOutputStream;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||||
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.xssf.usermodel.XSSFRichTextString;
|
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
|
||||||
|
@ -18,15 +18,9 @@ package org.apache.poi.xssf.usermodel.examples;
|
|||||||
|
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
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.xssf.usermodel.XSSFWorkbook;
|
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.
|
* Demonstrates how to create hyperlinks.
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package org.apache.poi.xssf.usermodel.examples;
|
package org.apache.poi.xssf.usermodel.examples;
|
||||||
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
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 org.apache.poi.ss.usermodel.*;
|
||||||
|
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
@ -16,13 +16,9 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.xssf.usermodel.examples;
|
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.ss.usermodel.*;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||||
import org.apache.poi.xssf.usermodel.IndexedColors;
|
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
|
||||||
|
|
||||||
import java.io.FileOutputStream;
|
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.xssf.usermodel.*;
|
||||||
import org.apache.poi.ss.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.FileOutputStream;
|
||||||
import java.io.Writer;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Demonstrates how to work with rich text
|
* 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.record.PaletteRecord;
|
||||||
import org.apache.poi.hssf.util.HSSFColor;
|
import org.apache.poi.hssf.util.HSSFColor;
|
||||||
import org.apache.poi.ss.usermodel.Palette;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a workbook color 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)
|
* @author Brian Sanders (bsanders at risklabs dot com)
|
||||||
*/
|
*/
|
||||||
public class HSSFPalette implements Palette
|
public class HSSFPalette
|
||||||
{
|
{
|
||||||
private PaletteRecord palette;
|
private PaletteRecord palette;
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@ import org.apache.poi.ddf.EscherComplexProperty;
|
|||||||
import org.apache.poi.ddf.EscherOptRecord;
|
import org.apache.poi.ddf.EscherOptRecord;
|
||||||
import org.apache.poi.ddf.EscherProperty;
|
import org.apache.poi.ddf.EscherProperty;
|
||||||
import org.apache.poi.hssf.record.EscherAggregate;
|
import org.apache.poi.hssf.record.EscherAggregate;
|
||||||
import org.apache.poi.ss.usermodel.Patriarch;
|
|
||||||
import org.apache.poi.util.StringUtil;
|
import org.apache.poi.util.StringUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -35,7 +34,7 @@ import org.apache.poi.util.StringUtil;
|
|||||||
* @author Glen Stampoultzis (glens at apache.org)
|
* @author Glen Stampoultzis (glens at apache.org)
|
||||||
*/
|
*/
|
||||||
public class HSSFPatriarch
|
public class HSSFPatriarch
|
||||||
implements HSSFShapeContainer, Patriarch
|
implements HSSFShapeContainer
|
||||||
{
|
{
|
||||||
List shapes = new ArrayList();
|
List shapes = new ArrayList();
|
||||||
HSSFSheet sheet;
|
HSSFSheet sheet;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
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,
|
* 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;
|
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
|
* @return unique index number of the underlying record this style represents (probably you don't care
|
||||||
* unless you're comparing which one is which)
|
* unless you're comparing which one is which)
|
||||||
*/
|
*/
|
||||||
@ -236,14 +236,14 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* set the data format (must be a valid format)
|
* set the data format (must be a valid format)
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFDataFormat
|
* @see DataFormat
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setDataFormat(short fmt);
|
void setDataFormat(short fmt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the index of the format
|
* get the index of the format
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFDataFormat
|
* @see DataFormat
|
||||||
*/
|
*/
|
||||||
short getDataFormat();
|
short getDataFormat();
|
||||||
|
|
||||||
@ -252,27 +252,18 @@ public interface CellStyle {
|
|||||||
*/
|
*/
|
||||||
public String getDataFormatString();
|
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
|
* set the font for this style
|
||||||
* @param font a font object created or retreived from the HSSFWorkbook object
|
* @param font a font object created or retreived from the Workbook object
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#createFont()
|
* @see Workbook#createFont()
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#getFontAt(short)
|
* @see Workbook#getFontAt(short)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void setFont(Font font);
|
void setFont(Font font);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gets the index of the font for this style
|
* gets the index of the font for this style
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFWorkbook#getFontAt(short)
|
* @see Workbook#getFontAt(short)
|
||||||
*/
|
*/
|
||||||
short getFontIndex();
|
short getFontIndex();
|
||||||
|
|
||||||
@ -571,8 +562,6 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the color to use for the left border
|
* 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();
|
short getLeftBorderColor();
|
||||||
|
|
||||||
@ -584,8 +573,7 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the color to use for the left border
|
* get the color to use for the left border
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short)
|
* @return the index of the color definition
|
||||||
* @param color The index of the color definition
|
|
||||||
*/
|
*/
|
||||||
short getRightBorderColor();
|
short getRightBorderColor();
|
||||||
|
|
||||||
@ -597,8 +585,7 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the color to use for the top border
|
* get the color to use for the top border
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short)
|
* @return hhe index of the color definition
|
||||||
* @param color The index of the color definition
|
|
||||||
*/
|
*/
|
||||||
short getTopBorderColor();
|
short getTopBorderColor();
|
||||||
|
|
||||||
@ -610,8 +597,7 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the color to use for the left border
|
* get the color to use for the left border
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short)
|
* @return the index of the color definition
|
||||||
* @param color The index of the color definition
|
|
||||||
*/
|
*/
|
||||||
short getBottomBorderColor();
|
short getBottomBorderColor();
|
||||||
|
|
||||||
@ -650,26 +636,6 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* set the background fill color.
|
* 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
|
* @param bg color
|
||||||
*/
|
*/
|
||||||
@ -678,7 +644,6 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the background fill color
|
* get the background fill color
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short)
|
|
||||||
* @return fill color
|
* @return fill color
|
||||||
*/
|
*/
|
||||||
short getFillBackgroundColor();
|
short getFillBackgroundColor();
|
||||||
@ -692,7 +657,6 @@ public interface CellStyle {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* get the foreground fill color
|
* get the foreground fill color
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFPalette#getColor(short)
|
|
||||||
* @return fill color
|
* @return fill color
|
||||||
*/
|
*/
|
||||||
short getFillForegroundColor();
|
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.
|
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.
|
* The enumeration value indicating the style of fill pattern being used for a cell format.
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
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,
|
* The enumeration value indicating horizontal alignment of a cell,
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
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
|
* A deprecated indexing scheme for colours that is still required for some records, and for backwards
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies printed page order.
|
* 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.
|
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
|
* 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.
|
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.
|
* These enumerations specify how cell comments shall be displayed for paper printing purposes.
|
@ -15,7 +15,7 @@
|
|||||||
limitations under the License.
|
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.
|
* The enumeration value indicating the print orientation for a sheet.
|
@ -21,10 +21,6 @@ import java.lang.Iterable;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
public interface Row extends Iterable<Cell> {
|
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.
|
* Use this to create new cells within the row and return it.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All known types of automatic shapes in DrawingML
|
* 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;
|
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
|
* Create a new row within the sheet and return the high level representation
|
||||||
*
|
*
|
||||||
* @param rownum row number
|
* @param rownum row number
|
||||||
* @return High level HSSFRow object representing a row in the sheet
|
* @return High level Row object representing a row in the sheet
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFRow
|
* @see Row
|
||||||
* @see #removeRow(Row)
|
* @see #removeRow(Row)
|
||||||
*/
|
*/
|
||||||
Row createRow(int rownum);
|
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
|
* 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.
|
* defined you get a null. This is to say row 4 represents the fifth row on a sheet.
|
||||||
* @param rownum row to get
|
* @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);
|
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.
|
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.,
|
* 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 {
|
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 */
|
/** Extended windows meta file */
|
||||||
public static final int PICTURE_TYPE_EMF = 2;
|
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
|
* 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"
|
* allow you to show the data of one sheet when another is seen "selected"
|
||||||
* in the tabs (at the bottom).
|
* in the tabs (at the bottom).
|
||||||
* @see org.apache.poi.hssf.usermodel.HSSFSheet#setSelected(boolean)
|
* @see Sheet#setSelected(boolean)
|
||||||
* @param index
|
* @param index
|
||||||
*/
|
*/
|
||||||
void setSelectedTab(short 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.
|
* set the sheet name.
|
||||||
* Will throw IllegalArgumentException if the name is greater than 31 chars
|
* Will throw IllegalArgumentException if the name is greater than 31 chars
|
||||||
@ -115,28 +97,28 @@ public interface Workbook {
|
|||||||
int getSheetIndex(Sheet sheet);
|
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.
|
* the high level representation. Use this to create new sheets.
|
||||||
*
|
*
|
||||||
* @return HSSFSheet representing the new sheet.
|
* @return Sheet representing the new sheet.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Sheet createSheet();
|
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);
|
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.
|
* the high level representation. Use this to create new sheets.
|
||||||
*
|
*
|
||||||
* @param sheetname sheetname to set for the sheet.
|
* @param sheetname sheetname to set for the sheet.
|
||||||
* @return HSSFSheet representing the new sheet.
|
* @return Sheet representing the new sheet.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Sheet createSheet(String sheetname);
|
Sheet createSheet(String sheetname);
|
||||||
@ -149,9 +131,9 @@ public interface Workbook {
|
|||||||
int getNumberOfSheets();
|
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)
|
* @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);
|
Sheet getSheetAt(int index);
|
||||||
@ -159,7 +141,7 @@ public interface Workbook {
|
|||||||
/**
|
/**
|
||||||
* Get sheet with the given name
|
* Get sheet with the given name
|
||||||
* @param name of the sheet
|
* @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);
|
Sheet getSheet(String name);
|
||||||
@ -220,7 +202,7 @@ public interface Workbook {
|
|||||||
/**
|
/**
|
||||||
* get the font at the given index number
|
* get the font at the given index number
|
||||||
* @param idx index number
|
* @param idx index number
|
||||||
* @return HSSFFont at the index
|
* @return XSSFFont at the index
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Font getFontAt(short idx);
|
Font getFontAt(short idx);
|
||||||
@ -242,7 +224,7 @@ public interface Workbook {
|
|||||||
/**
|
/**
|
||||||
* get the cell style object at the given index
|
* get the cell style object at the given index
|
||||||
* @param idx index within the set of styles
|
* @param idx index within the set of styles
|
||||||
* @return HSSFCellStyle object at the index
|
* @return CellStyle object at the index
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CellStyle getCellStyleAt(short idx);
|
CellStyle getCellStyleAt(short idx);
|
||||||
@ -271,12 +253,6 @@ public interface Workbook {
|
|||||||
*/
|
*/
|
||||||
Name getNameAt(int index);
|
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
|
* Sets the printarea for the sheet provided
|
||||||
* <p>
|
* <p>
|
||||||
@ -346,10 +322,8 @@ public interface Workbook {
|
|||||||
void removeName(int index);
|
void removeName(int index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the instance of HSSFDataFormat for this workbook.
|
* Returns the instance of DataFormat for this workbook.
|
||||||
* @return the HSSFDataFormat object
|
* @return the DataFormat object
|
||||||
* @see org.apache.poi.hssf.record.FormatRecord
|
|
||||||
* @see org.apache.poi.hssf.record.Record
|
|
||||||
*/
|
*/
|
||||||
DataFormat createDataFormat();
|
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.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.CommentsSource;
|
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFComment;
|
import org.apache.poi.xssf.usermodel.XSSFComment;
|
||||||
import org.apache.poi.POIXMLDocumentPart;
|
import org.apache.poi.POIXMLDocumentPart;
|
||||||
import org.apache.xmlbeans.XmlException;
|
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.CTAuthors;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCommentList;
|
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.ArrayList;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
import org.apache.poi.ss.usermodel.Font;
|
import org.apache.poi.ss.usermodel.Font;
|
||||||
import org.apache.poi.ss.usermodel.StylesSource;
|
import org.apache.poi.ss.usermodel.FontFamily;
|
||||||
import org.apache.poi.xssf.usermodel.FontFamily;
|
import org.apache.poi.ss.usermodel.FontScheme;
|
||||||
import org.apache.poi.xssf.usermodel.FontScheme;
|
|
||||||
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFFont;
|
import org.apache.poi.xssf.usermodel.XSSFFont;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
|
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;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
import org.apache.poi.ss.usermodel.Font;
|
|
||||||
import org.apache.poi.ss.usermodel.StylesSource;
|
|
||||||
import org.apache.poi.xssf.model.StylesTable;
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellAlignment;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFCellAlignment;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
|
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
|
* Get the color to use for the bottom border
|
||||||
* <br/>
|
* <br/>
|
||||||
* Color is optional. When missing, IndexedColors.AUTOMATIC is implied.
|
* 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
|
* @see IndexedColors
|
||||||
*/
|
*/
|
||||||
public short getBottomBorderColor() {
|
public short getBottomBorderColor() {
|
||||||
@ -664,7 +662,7 @@ public class XSSFCellStyle implements CellStyle, Cloneable {
|
|||||||
* Set the type of horizontal alignment for the cell
|
* Set the type of horizontal alignment for the cell
|
||||||
*
|
*
|
||||||
* @param align - the type of alignment
|
* @param align - the type of alignment
|
||||||
* @see HorizontalAlignment
|
* @see org.apache.poi.ss.usermodel.HorizontalAlignment
|
||||||
*/
|
*/
|
||||||
public void setAlignment(HorizontalAlignment align) {
|
public void setAlignment(HorizontalAlignment align) {
|
||||||
setAlignment((short)align.ordinal());
|
setAlignment((short)align.ordinal());
|
||||||
@ -1192,7 +1190,7 @@ public class XSSFCellStyle implements CellStyle, Cloneable {
|
|||||||
* Set the color to use for the top border
|
* Set the color to use for the top border
|
||||||
*
|
*
|
||||||
* @param color the index of the color definition
|
* @param color the index of the color definition
|
||||||
* @see IndexedColors
|
* @see org.apache.poi.ss.usermodel.IndexedColors
|
||||||
*/
|
*/
|
||||||
public void setTopBorderColor(short color) {
|
public void setTopBorderColor(short color) {
|
||||||
XSSFColor clr = new XSSFColor();
|
XSSFColor clr = new XSSFColor();
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Comment;
|
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.ss.usermodel.RichTextString;
|
||||||
import org.apache.poi.xssf.usermodel.helpers.RichTextStringHelper;
|
import org.apache.poi.xssf.usermodel.helpers.RichTextStringHelper;
|
||||||
import org.apache.poi.xssf.model.CommentsTable;
|
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
|
* @return the shape type
|
||||||
* @see org.apache.poi.xssf.usermodel.ShapeTypes
|
* @see org.apache.poi.ss.usermodel.ShapeTypes
|
||||||
*/
|
*/
|
||||||
public int getShapeType() {
|
public int getShapeType() {
|
||||||
return ctShape.getSpPr().getPrstGeom().getPrst().intValue();
|
return ctShape.getSpPr().getPrstGeom().getPrst().intValue();
|
||||||
@ -107,8 +107,8 @@ public class XSSFConnector extends XSSFShape {
|
|||||||
/**
|
/**
|
||||||
* Sets the shape types.
|
* Sets the shape types.
|
||||||
*
|
*
|
||||||
* @param type the shape type, one of the constants defined in {@link 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.xssf.usermodel.ShapeTypes
|
* @see org.apache.poi.ss.usermodel.ShapeTypes
|
||||||
*/
|
*/
|
||||||
public void setShapeType(int type) {
|
public void setShapeType(int type) {
|
||||||
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type));
|
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type));
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.DataFormat;
|
import org.apache.poi.ss.usermodel.DataFormat;
|
||||||
import org.apache.poi.ss.usermodel.StylesSource;
|
|
||||||
import org.apache.poi.xssf.model.StylesTable;
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,6 +39,7 @@ public class XSSFDrawing extends POIXMLDocumentPart {
|
|||||||
* Root element of the SpreadsheetML Drawing part
|
* Root element of the SpreadsheetML Drawing part
|
||||||
*/
|
*/
|
||||||
private CTDrawing drawing;
|
private CTDrawing drawing;
|
||||||
|
private boolean isNew;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new SpreadsheetML drawing
|
* Create a new SpreadsheetML drawing
|
||||||
@ -48,6 +49,7 @@ public class XSSFDrawing extends POIXMLDocumentPart {
|
|||||||
protected XSSFDrawing() {
|
protected XSSFDrawing() {
|
||||||
super();
|
super();
|
||||||
drawing = newDrawing();
|
drawing = newDrawing();
|
||||||
|
isNew = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -91,7 +93,7 @@ public class XSSFDrawing extends POIXMLDocumentPart {
|
|||||||
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
|
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
|
||||||
xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing">
|
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 map = new HashMap();
|
||||||
map.put("http://schemas.openxmlformats.org/drawingml/2006/main", "a");
|
map.put("http://schemas.openxmlformats.org/drawingml/2006/main", "a");
|
||||||
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r");
|
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r");
|
||||||
|
@ -32,7 +32,7 @@ final class XSSFEvaluationCell implements EvaluationCell {
|
|||||||
|
|
||||||
public XSSFEvaluationCell(XSSFCell cell) {
|
public XSSFEvaluationCell(XSSFCell cell) {
|
||||||
_cell = cell;
|
_cell = cell;
|
||||||
_evalSheet = new XSSFEvaluationSheet((XSSFSheet)cell.getSheet());
|
_evalSheet = new XSSFEvaluationSheet(cell.getSheet());
|
||||||
}
|
}
|
||||||
|
|
||||||
public XSSFEvaluationCell(XSSFCell cell, XSSFEvaluationSheet evaluationSheet) {
|
public XSSFEvaluationCell(XSSFCell cell, XSSFEvaluationSheet evaluationSheet) {
|
||||||
|
@ -75,7 +75,7 @@ public final class XSSFEvaluationWorkbook implements FormulaRenderingWorkbook, E
|
|||||||
|
|
||||||
public EvaluationName getName(String name) {
|
public EvaluationName getName(String name) {
|
||||||
for(int i=0; i < _uBook.getNumberOfNames(); i++) {
|
for(int i=0; i < _uBook.getNumberOfNames(); i++) {
|
||||||
String nameText = _uBook.getNameName(i);
|
String nameText = _uBook.getNameAt(i).getNameName();
|
||||||
if (name.equalsIgnoreCase(nameText)) {
|
if (name.equalsIgnoreCase(nameText)) {
|
||||||
return new Name(_uBook.getNameAt(i), i, this);
|
return new Name(_uBook.getNameAt(i), i, this);
|
||||||
}
|
}
|
||||||
|
@ -16,9 +16,7 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Font;
|
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
||||||
import org.apache.poi.xssf.model.StylesTable;
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
||||||
@ -92,7 +90,7 @@ public class XSSFFont implements Font {
|
|||||||
* get character-set to use.
|
* get character-set to use.
|
||||||
*
|
*
|
||||||
* @return byte - character-set
|
* @return byte - character-set
|
||||||
* @see FontCharset
|
* @see org.apache.poi.ss.usermodel.FontCharset
|
||||||
*/
|
*/
|
||||||
public byte getCharSet() {
|
public byte getCharSet() {
|
||||||
CTIntProperty charset = ctFont.sizeOfCharsetArray() == 0 ? null : ctFont.getCharsetArray(0);
|
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
|
* get type of text underlining to use
|
||||||
*
|
*
|
||||||
* @return byte - underlining type
|
* @return byte - underlining type
|
||||||
* @see FontUnderline
|
* @see org.apache.poi.ss.usermodel.FontUnderline
|
||||||
*/
|
*/
|
||||||
public byte getUnderline() {
|
public byte getUnderline() {
|
||||||
CTUnderlineProperty underline = ctFont.sizeOfUArray() == 0 ? null : ctFont.getUArray(0);
|
CTUnderlineProperty underline = ctFont.sizeOfUArray() == 0 ? null : ctFont.getUArray(0);
|
||||||
@ -529,7 +527,7 @@ public class XSSFFont implements Font {
|
|||||||
* get the font family to use.
|
* get the font family to use.
|
||||||
*
|
*
|
||||||
* @return the font family to use
|
* @return the font family to use
|
||||||
* @see FontFamily
|
* @see org.apache.poi.ss.usermodel.FontFamily
|
||||||
*/
|
*/
|
||||||
public int getFamily() {
|
public int getFamily() {
|
||||||
CTIntProperty family = ctFont.sizeOfFamilyArray() == 0 ? ctFont.addNewFamily() : ctFont.getFamilyArray(0);
|
CTIntProperty family = ctFont.sizeOfFamilyArray() == 0 ? ctFont.addNewFamily() : ctFont.getFamilyArray(0);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
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.*;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
@ -110,12 +111,18 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
@Override
|
@Override
|
||||||
protected void onDocumentRead() {
|
protected void onDocumentRead() {
|
||||||
try {
|
try {
|
||||||
worksheet = WorksheetDocument.Factory.parse(getPackagePart().getInputStream()).getWorksheet();
|
read(getPackagePart().getInputStream());
|
||||||
} catch (XmlException e){
|
|
||||||
throw new POIXMLException(e);
|
|
||||||
} catch (IOException e){
|
} catch (IOException e){
|
||||||
throw new POIXMLException(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);
|
initRows(worksheet);
|
||||||
columnHelper = new ColumnHelper(worksheet);
|
columnHelper = new ColumnHelper(worksheet);
|
||||||
@ -1645,6 +1652,13 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void commit() throws IOException {
|
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) {
|
if(worksheet.getColsArray().length == 1) {
|
||||||
CTCols col = worksheet.getColsArray(0);
|
CTCols col = worksheet.getColsArray(0);
|
||||||
@ -1682,15 +1696,10 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
|
|
||||||
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
|
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
|
||||||
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTWorksheet.type.getName().getNamespaceURI(), "worksheet"));
|
xmlOptions.setSaveSyntheticDocumentElement(new QName(CTWorksheet.type.getName().getNamespaceURI(), "worksheet"));
|
||||||
|
|
||||||
Map map = new HashMap();
|
Map map = new HashMap();
|
||||||
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r");
|
map.put(STRelationshipId.type.getName().getNamespaceURI(), "r");
|
||||||
xmlOptions.setSaveSuggestedPrefixes(map);
|
xmlOptions.setSaveSuggestedPrefixes(map);
|
||||||
|
|
||||||
PackagePart part = getPackagePart();
|
|
||||||
OutputStream out = part.getOutputStream();
|
|
||||||
worksheet.save(out, xmlOptions);
|
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.
|
* 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
|
* @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
|
* @return the shape type
|
||||||
* @see ShapeTypes
|
* @see org.apache.poi.ss.usermodel.ShapeTypes
|
||||||
*/
|
*/
|
||||||
public int getShapeType() {
|
public int getShapeType() {
|
||||||
return ctShape.getSpPr().getPrstGeom().getPrst().intValue();
|
return ctShape.getSpPr().getPrstGeom().getPrst().intValue();
|
||||||
@ -121,8 +121,8 @@ public class XSSFSimpleShape extends XSSFShape {
|
|||||||
/**
|
/**
|
||||||
* Sets the shape types.
|
* Sets the shape types.
|
||||||
*
|
*
|
||||||
* @param type the shape type, one of the constants defined in {@link ShapeTypes}.
|
* @param type the shape type, one of the constants defined in {@link org.apache.poi.ss.usermodel.ShapeTypes}.
|
||||||
* @see ShapeTypes
|
* @see org.apache.poi.ss.usermodel.ShapeTypes
|
||||||
*/
|
*/
|
||||||
public void setShapeType(int type) {
|
public void setShapeType(int type) {
|
||||||
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type));
|
ctShape.getSpPr().getPrstGeom().setPrst(STShapeType.Enum.forInt(type));
|
||||||
|
@ -17,9 +17,7 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.*;
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
import org.apache.poi.POIXMLDocument;
|
import org.apache.poi.POIXMLDocument;
|
||||||
@ -102,7 +100,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
|
|||||||
*/
|
*/
|
||||||
private List<XSSFPictureData> pictures;
|
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.
|
* 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()) {
|
for (CTSheet ctSheet : this.workbook.getSheets().getSheetArray()) {
|
||||||
XSSFSheet sh = shIdMap.get(ctSheet.getId());
|
XSSFSheet sh = shIdMap.get(ctSheet.getId());
|
||||||
if(sh == null) {
|
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;
|
continue;
|
||||||
}
|
}
|
||||||
sh.sheet = ctSheet;
|
sh.sheet = ctSheet;
|
||||||
@ -303,29 +301,78 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
|
|||||||
return imageNumber - 1;
|
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) {
|
public XSSFSheet cloneSheet(int sheetNum) {
|
||||||
|
validateSheetIndex(sheetNum);
|
||||||
|
|
||||||
XSSFSheet srcSheet = sheets.get(sheetNum);
|
XSSFSheet srcSheet = sheets.get(sheetNum);
|
||||||
String srcName = getSheetName(sheetNum);
|
String srcName = srcSheet.getSheetName();
|
||||||
int i = 1;
|
String clonedName = getUniqueSheetName(srcName);
|
||||||
String name = 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) {
|
while (true) {
|
||||||
//Try and find the next sheet name that is unique
|
// Try and find the next sheet name that is unique
|
||||||
String index = Integer.toString(i++);
|
String index = Integer.toString(uniqueIndex++);
|
||||||
if (name.length() + index.length() + 2 < 31) {
|
String name;
|
||||||
name = name + "("+index+")";
|
if (baseName.length() + index.length() + 2 < 31) {
|
||||||
|
name = baseName + " (" + index + ")";
|
||||||
} else {
|
} 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 the sheet name is unique, then set it otherwise move on to the next number.
|
||||||
if (getSheetIndex(name) == -1) {
|
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);
|
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
|
* Gets the named range index by his name
|
||||||
* <i>Note:</i>Excel named ranges are case-insensitive and
|
* <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)
|
* 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.CTCellAlignment;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STHorizontalAlignment;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignment;
|
||||||
import org.apache.poi.xssf.usermodel.HorizontalAlignment;
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||||
import org.apache.poi.xssf.usermodel.VerticalAlignment;
|
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package org.apache.poi.xssf.usermodel.extensions;
|
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.CTBorder;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle;
|
||||||
|
@ -17,15 +17,16 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import junit.framework.AssertionFailedError;
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
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.model.StylesTable;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
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.HSSFWorkbook;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
||||||
|
@ -2,11 +2,7 @@ package org.apache.poi.xssf.usermodel;
|
|||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
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.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFColor;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
|
||||||
|
@ -20,6 +20,10 @@ package org.apache.poi.xssf.usermodel;
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
|
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}
|
* Tests for {@link XSSFPrintSetup}
|
||||||
|
@ -19,19 +19,13 @@ package org.apache.poi.xssf.usermodel;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
import org.apache.poi.ss.usermodel.Font;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
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.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
import org.apache.poi.xssf.model.StylesTable;
|
import org.apache.poi.xssf.model.StylesTable;
|
||||||
import org.openxml4j.opc.ContentTypes;
|
import org.openxml4j.opc.ContentTypes;
|
||||||
@ -99,17 +93,6 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
assertSame(sheet1, workbook.getSheetAt(0));
|
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() {
|
public void testSetSheetName() {
|
||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
workbook.createSheet("sheet1");
|
workbook.createSheet("sheet1");
|
||||||
@ -119,16 +102,32 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testCloneSheet() {
|
public void testCloneSheet() {
|
||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook book = new XSSFWorkbook();
|
||||||
workbook.createSheet("sheet");
|
XSSFSheet sheet = book.createSheet("TEST");
|
||||||
workbook.cloneSheet(0);
|
sheet.createRow(0).createCell(0).setCellValue("Test");
|
||||||
assertEquals(2, workbook.getNumberOfSheets());
|
sheet.createRow(1).createCell(0).setCellValue(36.6);
|
||||||
assertEquals("sheet(1)", workbook.getSheetName(1));
|
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 2));
|
||||||
workbook.setSheetName(1, "clonedsheet");
|
sheet.addMergedRegion(new CellRangeAddress(1, 2, 0, 2));
|
||||||
workbook.cloneSheet(1);
|
assertTrue(sheet.isSelected());
|
||||||
assertEquals(3, workbook.getNumberOfSheets());
|
|
||||||
assertEquals("clonedsheet(1)", workbook.getSheetName(2));
|
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() {
|
public void testGetSheetByName() {
|
||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
@ -209,19 +208,6 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
|
|
||||||
nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
|
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();
|
Font font=workbook.createFont();
|
||||||
((XSSFFont)font).setBold(true);
|
((XSSFFont)font).setBold(true);
|
||||||
font.setUnderline(Font.U_DOUBLE);
|
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);
|
fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, IndexedColors.BLACK.getIndex(), (short)15, "Calibri", false, false, Font.SS_NONE, Font.U_DOUBLE);
|
||||||
assertNull(fontFind);
|
assertNull(fontFind);
|
||||||
}
|
}
|
||||||
@ -440,8 +425,7 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
|
|
||||||
StylesTable ss = workbook.getStylesSource();
|
StylesTable ss = workbook.getStylesSource();
|
||||||
assertNotNull(ss);
|
assertNotNull(ss);
|
||||||
assertTrue(ss instanceof StylesTable);
|
StylesTable st = ss;
|
||||||
StylesTable st = (StylesTable)ss;
|
|
||||||
|
|
||||||
// Has 8 number formats
|
// Has 8 number formats
|
||||||
assertEquals(8, st._getNumberFormatSize());
|
assertEquals(8, st._getNumberFormatSize());
|
||||||
@ -467,9 +451,7 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
|
|
||||||
ss = workbook.getStylesSource();
|
ss = workbook.getStylesSource();
|
||||||
assertNotNull(ss);
|
assertNotNull(ss);
|
||||||
assertTrue(ss instanceof StylesTable);
|
|
||||||
st = (StylesTable)ss;
|
|
||||||
|
|
||||||
assertEquals(10, st._getNumberFormatSize());
|
assertEquals(10, st._getNumberFormatSize());
|
||||||
assertEquals(2, st._getFontsSize());
|
assertEquals(2, st._getFontsSize());
|
||||||
assertEquals(2, st._getFillsSize());
|
assertEquals(2, st._getFillsSize());
|
||||||
@ -502,7 +484,7 @@ public final class TestXSSFWorkbook extends TestCase {
|
|||||||
assertEquals("ForB3", workbook.getNameAt(1).getNameName());
|
assertEquals("ForB3", workbook.getNameAt(1).getNameName());
|
||||||
assertEquals("B3 Comment", workbook.getNameAt(1).getComment());
|
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"));
|
||||||
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 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.apache.poi.xssf.usermodel.extensions.XSSFCellBorder.BorderSide;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
package org.apache.poi.xssf.usermodel.extensions;
|
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.CTColor;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;
|
||||||
|
Loading…
Reference in New Issue
Block a user