Ensure SpreadsheetVersion is set for AreaReferences
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1800208 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
51b46a9e4e
commit
5c65b55bd4
@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel.examples;
|
|||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
@ -80,8 +81,8 @@ public class CreateTable {
|
|||||||
table.addColumn();
|
table.addColumn();
|
||||||
|
|
||||||
// Set which area the table should be placed in
|
// Set which area the table should be placed in
|
||||||
AreaReference reference = new AreaReference(new CellReference(0, 0),
|
AreaReference reference = wb.getCreationHelper().createAreaReference(
|
||||||
new CellReference(2,2));
|
new CellReference(0, 0), new CellReference(2, 2));
|
||||||
table.setCellReferences(reference);
|
table.setCellReferences(reference);
|
||||||
|
|
||||||
// Save
|
// Save
|
||||||
|
@ -20,6 +20,8 @@ package org.apache.poi.hssf.usermodel;
|
|||||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||||
import org.apache.poi.hssf.record.common.ExtendedColor;
|
import org.apache.poi.hssf.record.common.ExtendedColor;
|
||||||
import org.apache.poi.ss.usermodel.CreationHelper;
|
import org.apache.poi.ss.usermodel.CreationHelper;
|
||||||
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.util.Internal;
|
import org.apache.poi.util.Internal;
|
||||||
|
|
||||||
public class HSSFCreationHelper implements CreationHelper {
|
public class HSSFCreationHelper implements CreationHelper {
|
||||||
@ -75,4 +77,21 @@ public class HSSFCreationHelper implements CreationHelper {
|
|||||||
public HSSFClientAnchor createClientAnchor(){
|
public HSSFClientAnchor createClientAnchor(){
|
||||||
return new HSSFClientAnchor();
|
return new HSSFClientAnchor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(String reference) {
|
||||||
|
return new AreaReference(reference, workbook.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(CellReference topLeft, CellReference bottomRight) {
|
||||||
|
return new AreaReference(topLeft, bottomRight, workbook.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.util;
|
package org.apache.poi.hssf.util;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated POI 3.15 beta 3. Use {@link org.apache.poi.ss.util.AreaReference} instead.
|
* @deprecated POI 3.15 beta 3. Use {@link org.apache.poi.ss.util.AreaReference} instead.
|
||||||
*/
|
*/
|
||||||
@ -28,7 +30,7 @@ public final class AreaReference extends org.apache.poi.ss.util.AreaReference {
|
|||||||
* The area reference must be contiguous (i.e. represent a single rectangle, not a union of rectangles)
|
* The area reference must be contiguous (i.e. represent a single rectangle, not a union of rectangles)
|
||||||
*/
|
*/
|
||||||
public AreaReference(String reference) {
|
public AreaReference(String reference) {
|
||||||
super(reference);
|
super(reference, SpreadsheetVersion.EXCEL97);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -817,7 +817,7 @@ public final class FormulaParser {
|
|||||||
CellReference topLeft = new CellReference(actualStartRow, actualStartCol);
|
CellReference topLeft = new CellReference(actualStartRow, actualStartCol);
|
||||||
CellReference bottomRight = new CellReference(actualEndRow, actualEndCol);
|
CellReference bottomRight = new CellReference(actualEndRow, actualEndCol);
|
||||||
SheetIdentifier sheetIden = new SheetIdentifier( null, new NameIdentifier(sheetName, true));
|
SheetIdentifier sheetIden = new SheetIdentifier( null, new NameIdentifier(sheetName, true));
|
||||||
Ptg ptg = _book.get3DReferencePtg(new AreaReference(topLeft, bottomRight), sheetIden);
|
Ptg ptg = _book.get3DReferencePtg(new AreaReference(topLeft, bottomRight, _ssVersion), sheetIden);
|
||||||
return new ParseNode(ptg);
|
return new ParseNode(ptg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -997,7 +997,7 @@ public final class FormulaParser {
|
|||||||
if (part1.isColumn()) {
|
if (part1.isColumn()) {
|
||||||
return AreaReference.getWholeColumn(_ssVersion, part1.getRep(), part2.getRep());
|
return AreaReference.getWholeColumn(_ssVersion, part1.getRep(), part2.getRep());
|
||||||
}
|
}
|
||||||
return new AreaReference(part1.getCellReference(), part2.getCellReference());
|
return new AreaReference(part1.getCellReference(), part2.getCellReference(), _ssVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
package org.apache.poi.ss.formula.ptg;
|
package org.apache.poi.ss.formula.ptg;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.ExternSheetReferenceToken;
|
import org.apache.poi.ss.formula.ExternSheetReferenceToken;
|
||||||
import org.apache.poi.ss.formula.FormulaRenderingWorkbook;
|
import org.apache.poi.ss.formula.FormulaRenderingWorkbook;
|
||||||
import org.apache.poi.ss.formula.WorkbookDependentFormula;
|
import org.apache.poi.ss.formula.WorkbookDependentFormula;
|
||||||
@ -41,7 +42,7 @@ public final class Area3DPtg extends AreaPtgBase implements WorkbookDependentFor
|
|||||||
|
|
||||||
|
|
||||||
public Area3DPtg(String arearef, int externIdx) {
|
public Area3DPtg(String arearef, int externIdx) {
|
||||||
super(new AreaReference(arearef));
|
super(new AreaReference(arearef, SpreadsheetVersion.EXCEL97));
|
||||||
setExternSheetIndex(externIdx);
|
setExternSheetIndex(externIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
package org.apache.poi.ss.formula.ptg;
|
package org.apache.poi.ss.formula.ptg;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.SheetIdentifier;
|
import org.apache.poi.ss.formula.SheetIdentifier;
|
||||||
import org.apache.poi.ss.formula.SheetNameFormatter;
|
import org.apache.poi.ss.formula.SheetNameFormatter;
|
||||||
import org.apache.poi.ss.formula.SheetRangeIdentifier;
|
import org.apache.poi.ss.formula.SheetRangeIdentifier;
|
||||||
@ -37,7 +38,7 @@ public final class Area3DPxg extends AreaPtgBase implements Pxg3D {
|
|||||||
private String lastSheetName;
|
private String lastSheetName;
|
||||||
|
|
||||||
public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, String arearef) {
|
public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, String arearef) {
|
||||||
this(externalWorkbookNumber, sheetName, new AreaReference(arearef));
|
this(externalWorkbookNumber, sheetName, new AreaReference(arearef, SpreadsheetVersion.EXCEL2007));
|
||||||
}
|
}
|
||||||
public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, AreaReference arearef) {
|
public Area3DPxg(int externalWorkbookNumber, SheetIdentifier sheetName, AreaReference arearef) {
|
||||||
super(arearef);
|
super(arearef);
|
||||||
@ -51,7 +52,7 @@ public final class Area3DPxg extends AreaPtgBase implements Pxg3D {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Area3DPxg(SheetIdentifier sheetName, String arearef) {
|
public Area3DPxg(SheetIdentifier sheetName, String arearef) {
|
||||||
this(sheetName, new AreaReference(arearef));
|
this(sheetName, new AreaReference(arearef, SpreadsheetVersion.EXCEL2007));
|
||||||
}
|
}
|
||||||
public Area3DPxg(SheetIdentifier sheetName, AreaReference arearef) {
|
public Area3DPxg(SheetIdentifier sheetName, AreaReference arearef) {
|
||||||
this(-1, sheetName, arearef);
|
this(-1, sheetName, arearef);
|
||||||
|
@ -17,8 +17,10 @@
|
|||||||
|
|
||||||
package org.apache.poi.ss.formula.ptg;
|
package org.apache.poi.ss.formula.ptg;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
import org.apache.poi.util.LittleEndianInput;
|
import org.apache.poi.util.LittleEndianInput;
|
||||||
|
import org.apache.poi.util.Removal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies a rectangular area of cells A1:A4 for instance.
|
* Specifies a rectangular area of cells A1:A4 for instance.
|
||||||
@ -30,15 +32,24 @@ public final class AreaPtg extends Area2DPtgBase {
|
|||||||
public AreaPtg(int firstRow, int lastRow, int firstColumn, int lastColumn, boolean firstRowRelative, boolean lastRowRelative, boolean firstColRelative, boolean lastColRelative) {
|
public AreaPtg(int firstRow, int lastRow, int firstColumn, int lastColumn, boolean firstRowRelative, boolean lastRowRelative, boolean firstColRelative, boolean lastColRelative) {
|
||||||
super(firstRow, lastRow, firstColumn, lastColumn, firstRowRelative, lastRowRelative, firstColRelative, lastColRelative);
|
super(firstRow, lastRow, firstColumn, lastColumn, firstRowRelative, lastRowRelative, firstColRelative, lastColRelative);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AreaPtg(LittleEndianInput in) {
|
public AreaPtg(LittleEndianInput in) {
|
||||||
super(in);
|
super(in);
|
||||||
}
|
}
|
||||||
public AreaPtg(String arearef) {
|
|
||||||
super(new AreaReference(arearef));
|
/**
|
||||||
}
|
* @deprecated use {@link #AreaPtg(<code>AreaReference</code>)} instead
|
||||||
public AreaPtg(AreaReference areaRef) {
|
*/
|
||||||
super(areaRef);
|
@Deprecated()
|
||||||
}
|
@Removal(version="3.19")
|
||||||
|
public AreaPtg(String arearef) {
|
||||||
|
this(new AreaReference(arearef, SpreadsheetVersion.EXCEL97));
|
||||||
|
}
|
||||||
|
|
||||||
|
public AreaPtg(AreaReference arearef) {
|
||||||
|
super(arearef);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected byte getSid() {
|
protected byte getSid() {
|
||||||
return sid;
|
return sid;
|
||||||
|
@ -287,7 +287,7 @@ public abstract class AreaPtgBase extends OperandPtg implements AreaI {
|
|||||||
CellReference botRight = new CellReference(getLastRow(),getLastColumn(),!isLastRowRelative(),!isLastColRelative());
|
CellReference botRight = new CellReference(getLastRow(),getLastColumn(),!isLastRowRelative(),!isLastColRelative());
|
||||||
|
|
||||||
if(AreaReference.isWholeColumnReference(SpreadsheetVersion.EXCEL97, topLeft, botRight)) {
|
if(AreaReference.isWholeColumnReference(SpreadsheetVersion.EXCEL97, topLeft, botRight)) {
|
||||||
return (new AreaReference(topLeft, botRight)).formatAsString();
|
return (new AreaReference(topLeft, botRight, SpreadsheetVersion.EXCEL97)).formatAsString();
|
||||||
}
|
}
|
||||||
return topLeft.formatAsString() + ":" + botRight.formatAsString();
|
return topLeft.formatAsString() + ":" + botRight.formatAsString();
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
package org.apache.poi.ss.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||||
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
|
import org.apache.poi.ss.util.CellReference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object that handles instantiating concrete
|
* An object that handles instantiating concrete
|
||||||
@ -66,4 +68,22 @@ public interface CreationHelper {
|
|||||||
* @see org.apache.poi.ss.usermodel.Drawing
|
* @see org.apache.poi.ss.usermodel.Drawing
|
||||||
*/
|
*/
|
||||||
ClientAnchor createClientAnchor();
|
ClientAnchor createClientAnchor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an AreaReference.
|
||||||
|
*
|
||||||
|
* @param reference cell reference
|
||||||
|
* @return an AreaReference instance
|
||||||
|
*/
|
||||||
|
AreaReference createAreaReference(String reference);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an area ref from a pair of Cell References..
|
||||||
|
*
|
||||||
|
* @param topLeft cell reference
|
||||||
|
* @param bottomRight cell reference
|
||||||
|
* @return an AreaReference instance
|
||||||
|
*/
|
||||||
|
AreaReference createAreaReference(CellReference topLeft, CellReference bottomRight);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import java.util.List;
|
|||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
|
import org.apache.poi.util.Removal;
|
||||||
|
|
||||||
public class AreaReference {
|
public class AreaReference {
|
||||||
|
|
||||||
@ -37,15 +38,6 @@ public class AreaReference {
|
|||||||
private final CellReference _lastCell;
|
private final CellReference _lastCell;
|
||||||
private final boolean _isSingleCell;
|
private final boolean _isSingleCell;
|
||||||
private final SpreadsheetVersion _version; // never null
|
private final SpreadsheetVersion _version; // never null
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated POI 3.13 beta 1. Prefer supplying a version.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public AreaReference(String reference) {
|
|
||||||
this(reference, DEFAULT_SPREADSHEET_VERSION);
|
|
||||||
// generateContiguous must be updated before this can be deleted.
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an area ref from a string representation. Sheet names containing special characters should be
|
* Create an area ref from a string representation. Sheet names containing special characters should be
|
||||||
@ -116,9 +108,19 @@ public class AreaReference {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an area ref from a pair of Cell References.
|
* Creates an area ref from a pair of Cell References.
|
||||||
|
* @deprecated use {@link #new AreaReference(<code>CellReference</code>, <code>CellReference</code>, <code>SpreadsheetVersion</code>)} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Removal(version="3.19")
|
||||||
public AreaReference(CellReference topLeft, CellReference botRight) {
|
public AreaReference(CellReference topLeft, CellReference botRight) {
|
||||||
_version = DEFAULT_SPREADSHEET_VERSION;
|
this(topLeft, botRight, DEFAULT_SPREADSHEET_VERSION);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an area ref from a pair of Cell References.
|
||||||
|
*/
|
||||||
|
public AreaReference(CellReference topLeft, CellReference botRight, SpreadsheetVersion version) {
|
||||||
|
_version = (null != version) ? version : DEFAULT_SPREADSHEET_VERSION;
|
||||||
boolean swapRows = topLeft.getRow() > botRight.getRow();
|
boolean swapRows = topLeft.getRow() > botRight.getRow();
|
||||||
boolean swapCols = topLeft.getCol() > botRight.getCol();
|
boolean swapCols = topLeft.getCol() > botRight.getCol();
|
||||||
if (swapRows || swapCols) {
|
if (swapRows || swapCols) {
|
||||||
@ -166,7 +168,7 @@ public class AreaReference {
|
|||||||
* unbroken) area, or is it made up of
|
* unbroken) area, or is it made up of
|
||||||
* several different parts?
|
* several different parts?
|
||||||
* (If it is, you will need to call
|
* (If it is, you will need to call
|
||||||
* {@link #generateContiguous(String)})
|
* {@link #generateContiguous(<code>SpreadsheetVersion</code>, String)})
|
||||||
*/
|
*/
|
||||||
public static boolean isContiguous(String reference) {
|
public static boolean isContiguous(String reference) {
|
||||||
// If there's a sheet name, strip it off
|
// If there's a sheet name, strip it off
|
||||||
@ -216,15 +218,29 @@ public class AreaReference {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takes a non-contiguous area reference, and
|
* Takes a non-contiguous area reference, and returns an array of contiguous area references
|
||||||
* returns an array of contiguous area references.
|
* @return an array of contiguous area references.
|
||||||
|
* @deprecated use {@link #generateContiguous(<code>SpreadsheetVersion</code>, String)} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Removal(version="3.19")
|
||||||
public static AreaReference[] generateContiguous(String reference) {
|
public static AreaReference[] generateContiguous(String reference) {
|
||||||
|
return generateContiguous(DEFAULT_SPREADSHEET_VERSION, reference);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Takes a non-contiguous area reference, and returns an array of contiguous area references
|
||||||
|
* @return an array of contiguous area references.
|
||||||
|
*/
|
||||||
|
public static AreaReference[] generateContiguous(SpreadsheetVersion version, String reference) {
|
||||||
|
if (null == version) {
|
||||||
|
version = DEFAULT_SPREADSHEET_VERSION; // how the code used to behave.
|
||||||
|
}
|
||||||
List<AreaReference> refs = new ArrayList<AreaReference>();
|
List<AreaReference> refs = new ArrayList<AreaReference>();
|
||||||
StringTokenizer st = new StringTokenizer(reference, ",");
|
StringTokenizer st = new StringTokenizer(reference, ",");
|
||||||
while(st.hasMoreTokens()) {
|
while(st.hasMoreTokens()) {
|
||||||
refs.add(
|
refs.add(
|
||||||
new AreaReference(st.nextToken())
|
new AreaReference(st.nextToken(), version)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return refs.toArray(new AreaReference[refs.size()]);
|
return refs.toArray(new AreaReference[refs.size()]);
|
||||||
|
@ -23,6 +23,8 @@ import org.apache.poi.ss.usermodel.CreationHelper;
|
|||||||
import org.apache.poi.ss.usermodel.DataFormat;
|
import org.apache.poi.ss.usermodel.DataFormat;
|
||||||
import org.apache.poi.ss.usermodel.ExtendedColor;
|
import org.apache.poi.ss.usermodel.ExtendedColor;
|
||||||
import org.apache.poi.ss.usermodel.Hyperlink;
|
import org.apache.poi.ss.usermodel.Hyperlink;
|
||||||
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.util.Internal;
|
import org.apache.poi.util.Internal;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
@ -79,4 +81,21 @@ public class SXSSFCreationHelper implements CreationHelper {
|
|||||||
public ClientAnchor createClientAnchor() {
|
public ClientAnchor createClientAnchor() {
|
||||||
return helper.createClientAnchor();
|
return helper.createClientAnchor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(String reference) {
|
||||||
|
return new AreaReference(reference, wb.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(CellReference topLeft, CellReference bottomRight) {
|
||||||
|
return new AreaReference(topLeft, bottomRight, wb.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,12 @@
|
|||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.ClientAnchor;
|
import org.apache.poi.ss.usermodel.ClientAnchor;
|
||||||
|
import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
|
||||||
import org.apache.poi.util.Internal;
|
import org.apache.poi.util.Internal;
|
||||||
import org.apache.poi.util.Removal;
|
|
||||||
import org.apache.poi.util.Units;
|
import org.apache.poi.util.Units;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.main.CTPoint2D;
|
import org.openxmlformats.schemas.drawingml.x2006.main.CTPoint2D;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;
|
import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;
|
||||||
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
|
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
|
||||||
import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A client anchor is attached to an excel worksheet. It anchors against:
|
* A client anchor is attached to an excel worksheet. It anchors against:
|
||||||
|
@ -19,6 +19,8 @@ package org.apache.poi.xssf.usermodel;
|
|||||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||||
import org.apache.poi.ss.usermodel.CreationHelper;
|
import org.apache.poi.ss.usermodel.CreationHelper;
|
||||||
import org.apache.poi.ss.usermodel.Hyperlink;
|
import org.apache.poi.ss.usermodel.Hyperlink;
|
||||||
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.util.Internal;
|
import org.apache.poi.util.Internal;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
|
||||||
|
|
||||||
@ -86,4 +88,20 @@ public class XSSFCreationHelper implements CreationHelper {
|
|||||||
public XSSFClientAnchor createClientAnchor() {
|
public XSSFClientAnchor createClientAnchor() {
|
||||||
return new XSSFClientAnchor();
|
return new XSSFClientAnchor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(String reference) {
|
||||||
|
return new AreaReference(reference, workbook.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public AreaReference createAreaReference(CellReference topLeft, CellReference bottomRight) {
|
||||||
|
return new AreaReference(topLeft, bottomRight, workbook.getSpreadsheetVersion());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,7 +146,8 @@ public class XSSFPivotCacheDefinition extends POIXMLDocumentPart{
|
|||||||
for (XSSFTable table : sheet.getTables()) {
|
for (XSSFTable table : sheet.getTables()) {
|
||||||
// TODO: case-sensitive?
|
// TODO: case-sensitive?
|
||||||
if (name.equals(table.getName())) {
|
if (name.equals(table.getName())) {
|
||||||
return new AreaReference(table.getStartCellReference(), table.getEndCellReference());
|
return new AreaReference(table.getStartCellReference(), table.getEndCellReference(),
|
||||||
|
SpreadsheetVersion.EXCEL2007);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.apache.poi.POIXMLDocumentPart;
|
import org.apache.poi.POIXMLDocumentPart;
|
||||||
import org.apache.poi.openxml4j.opc.PackagePart;
|
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.CellType;
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
import org.apache.poi.ss.usermodel.DataConsolidateFunction;
|
import org.apache.poi.ss.usermodel.DataConsolidateFunction;
|
||||||
@ -431,7 +432,8 @@ public class XSSFPivotTable extends POIXMLDocumentPart {
|
|||||||
protected void createSourceReferences(CellReference position, Sheet sourceSheet, PivotTableReferenceConfigurator refConfig){
|
protected void createSourceReferences(CellReference position, Sheet sourceSheet, PivotTableReferenceConfigurator refConfig){
|
||||||
|
|
||||||
//Get cell one to the right and one down from position, add both to AreaReference and set pivot table location.
|
//Get cell one to the right and one down from position, add both to AreaReference and set pivot table location.
|
||||||
AreaReference destination = new AreaReference(position, new CellReference(position.getRow()+1, position.getCol()+1));
|
AreaReference destination = new AreaReference(position, new CellReference(
|
||||||
|
position.getRow()+1, position.getCol()+1), SpreadsheetVersion.EXCEL2007);
|
||||||
|
|
||||||
CTLocation location;
|
CTLocation location;
|
||||||
if(pivotTableDefinition.getLocation() == null) {
|
if(pivotTableDefinition.getLocation() == null) {
|
||||||
|
@ -30,6 +30,7 @@ import java.util.Locale;
|
|||||||
|
|
||||||
import org.apache.poi.POIXMLDocumentPart;
|
import org.apache.poi.POIXMLDocumentPart;
|
||||||
import org.apache.poi.openxml4j.opc.PackagePart;
|
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.DataFormatter;
|
import org.apache.poi.ss.usermodel.DataFormatter;
|
||||||
import org.apache.poi.ss.usermodel.Table;
|
import org.apache.poi.ss.usermodel.Table;
|
||||||
@ -349,7 +350,8 @@ public class XSSFTable extends POIXMLDocumentPart implements Table {
|
|||||||
public AreaReference getCellReferences() {
|
public AreaReference getCellReferences() {
|
||||||
return new AreaReference(
|
return new AreaReference(
|
||||||
getStartCellReference(),
|
getStartCellReference(),
|
||||||
getEndCellReference()
|
getEndCellReference(),
|
||||||
|
SpreadsheetVersion.EXCEL2007
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -22,6 +22,7 @@ import static org.junit.Assert.assertFalse;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.CellType;
|
import org.apache.poi.ss.usermodel.CellType;
|
||||||
import org.apache.poi.ss.usermodel.CellValue;
|
import org.apache.poi.ss.usermodel.CellValue;
|
||||||
@ -91,7 +92,9 @@ public class TestStructuredReferences {
|
|||||||
|
|
||||||
// update Table
|
// update Table
|
||||||
final XSSFTable table = wb.getTable("\\_Prime.1");
|
final XSSFTable table = wb.getTable("\\_Prime.1");
|
||||||
final AreaReference newArea = new AreaReference(table.getStartCellReference(), new CellReference(table.getEndRowIndex() + 1, table.getEndColIndex()));
|
final AreaReference newArea = wb.getCreationHelper().createAreaReference(
|
||||||
|
table.getStartCellReference(),
|
||||||
|
new CellReference(table.getEndRowIndex() + 1, table.getEndColIndex()));
|
||||||
String newAreaStr = newArea.formatAsString();
|
String newAreaStr = newArea.formatAsString();
|
||||||
table.getCTTable().setRef(newAreaStr);
|
table.getCTTable().setRef(newAreaStr);
|
||||||
table.getCTTable().getAutoFilter().setRef(newAreaStr);
|
table.getCTTable().getAutoFilter().setRef(newAreaStr);
|
||||||
|
@ -290,7 +290,7 @@ public abstract class BaseTestXSSFPivotTable {
|
|||||||
assertNotNull(original);
|
assertNotNull(original);
|
||||||
assertNotNull(offset);
|
assertNotNull(offset);
|
||||||
|
|
||||||
AreaReference source = new AreaReference("ORIGinal!A1:C2", _testDataProvider.getSpreadsheetVersion());
|
AreaReference source = wb.getCreationHelper().createAreaReference("ORIGinal!A1:C2");
|
||||||
// create a pivot table on the same sheet, case insensitive
|
// create a pivot table on the same sheet, case insensitive
|
||||||
original.createPivotTable(source, new CellReference("W1"));
|
original.createPivotTable(source, new CellReference("W1"));
|
||||||
// create a pivot table on a different sheet, case insensitive
|
// create a pivot table on a different sheet, case insensitive
|
||||||
|
@ -64,7 +64,6 @@ import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
|||||||
import org.apache.poi.openxml4j.util.ZipSecureFile;
|
import org.apache.poi.openxml4j.util.ZipSecureFile;
|
||||||
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
|
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
|
||||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
|
||||||
import org.apache.poi.ss.formula.WorkbookEvaluator;
|
import org.apache.poi.ss.formula.WorkbookEvaluator;
|
||||||
import org.apache.poi.ss.formula.eval.ErrorEval;
|
import org.apache.poi.ss.formula.eval.ErrorEval;
|
||||||
import org.apache.poi.ss.formula.eval.NumberEval;
|
import org.apache.poi.ss.formula.eval.NumberEval;
|
||||||
@ -1346,7 +1345,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
Name name = wb.getName("Intekon.ProdCodes");
|
Name name = wb.getName("Intekon.ProdCodes");
|
||||||
assertEquals("'Abc,1'!$A$1:$A$2", name.getRefersToFormula());
|
assertEquals("'Abc,1'!$A$1:$A$2", name.getRefersToFormula());
|
||||||
|
|
||||||
AreaReference ref = new AreaReference(name.getRefersToFormula(), SpreadsheetVersion.EXCEL2007);
|
AreaReference ref = wb.getCreationHelper().createAreaReference(name.getRefersToFormula());
|
||||||
assertEquals(0, ref.getFirstCell().getRow());
|
assertEquals(0, ref.getFirstCell().getRow());
|
||||||
assertEquals(0, ref.getFirstCell().getCol());
|
assertEquals(0, ref.getFirstCell().getCol());
|
||||||
assertEquals(1, ref.getLastCell().getRow());
|
assertEquals(1, ref.getLastCell().getRow());
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
@ -66,7 +65,7 @@ public class TestXSSFPivotTableRef extends BaseTestXSSFPivotTable {
|
|||||||
Cell cell12 = row1.createCell(3);
|
Cell cell12 = row1.createCell(3);
|
||||||
cell12.setCellValue(12.12);
|
cell12.setCellValue(12.12);
|
||||||
|
|
||||||
AreaReference source = new AreaReference("A1:C2", SpreadsheetVersion.EXCEL2007);
|
AreaReference source = wb.getCreationHelper().createAreaReference("A1:C2");
|
||||||
pivotTable = sheet.createPivotTable(source, new CellReference("H5"));
|
pivotTable = sheet.createPivotTable(source, new CellReference("H5"));
|
||||||
|
|
||||||
XSSFSheet offsetSheet = wb.createSheet();
|
XSSFSheet offsetSheet = wb.createSheet();
|
||||||
@ -105,7 +104,8 @@ public class TestXSSFPivotTableRef extends BaseTestXSSFPivotTable {
|
|||||||
Cell tableCell_4_3 = tableRow_4.createCell(4);
|
Cell tableCell_4_3 = tableRow_4.createCell(4);
|
||||||
tableCell_4_3.setCellValue(100);
|
tableCell_4_3.setCellValue(100);
|
||||||
|
|
||||||
AreaReference offsetSource = new AreaReference(new CellReference("C2"), new CellReference("E4"));
|
AreaReference offsetSource = wb.getCreationHelper().createAreaReference(
|
||||||
|
new CellReference("C2"), new CellReference("E4"));
|
||||||
offsetPivotTable = offsetSheet.createPivotTable(offsetSource, new CellReference("C6"));
|
offsetPivotTable = offsetSheet.createPivotTable(offsetSource, new CellReference("C6"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,6 @@ import org.apache.poi.POIXMLException;
|
|||||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||||
import org.apache.poi.poifs.crypt.CryptoFunctions;
|
import org.apache.poi.poifs.crypt.CryptoFunctions;
|
||||||
import org.apache.poi.poifs.crypt.HashAlgorithm;
|
import org.apache.poi.poifs.crypt.HashAlgorithm;
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
|
||||||
import org.apache.poi.ss.usermodel.AutoFilter;
|
import org.apache.poi.ss.usermodel.AutoFilter;
|
||||||
import org.apache.poi.ss.usermodel.BaseTestXSheet;
|
import org.apache.poi.ss.usermodel.BaseTestXSheet;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
@ -56,7 +55,6 @@ import org.apache.poi.ss.usermodel.IndexedColors;
|
|||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
|
||||||
import org.apache.poi.ss.util.CellAddress;
|
import org.apache.poi.ss.util.CellAddress;
|
||||||
import org.apache.poi.ss.util.CellRangeAddress;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
@ -1337,10 +1335,12 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
|
|
||||||
assertNotNull(wb);
|
assertNotNull(wb);
|
||||||
assertNotNull(sheet);
|
assertNotNull(sheet);
|
||||||
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
|
XSSFPivotTable pivotTable = sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
|
||||||
|
new CellReference("H5"));
|
||||||
assertNotNull(pivotTable);
|
assertNotNull(pivotTable);
|
||||||
assertTrue(wb.getPivotTables().size() > 0);
|
assertTrue(wb.getPivotTables().size() > 0);
|
||||||
XSSFPivotTable pivotTable2 = sheet.createPivotTable(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("L5"), sheet);
|
XSSFPivotTable pivotTable2 = sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
|
||||||
|
new CellReference("L5"), sheet);
|
||||||
assertNotNull(pivotTable2);
|
assertNotNull(pivotTable2);
|
||||||
assertTrue(wb.getPivotTables().size() > 1);
|
assertTrue(wb.getPivotTables().size() > 1);
|
||||||
wb.close();
|
wb.close();
|
||||||
@ -1353,12 +1353,13 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
|
|
||||||
assertNotNull(wb);
|
assertNotNull(wb);
|
||||||
assertNotNull(sheet);
|
assertNotNull(sheet);
|
||||||
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
|
XSSFPivotTable pivotTable = sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"), new CellReference("H5"));
|
||||||
assertNotNull(pivotTable);
|
assertNotNull(pivotTable);
|
||||||
assertTrue(wb.getPivotTables().size() > 0);
|
assertTrue(wb.getPivotTables().size() > 0);
|
||||||
assertNotNull(wb);
|
assertNotNull(wb);
|
||||||
XSSFSheet sheet2 = wb.createSheet();
|
XSSFSheet sheet2 = wb.createSheet();
|
||||||
XSSFPivotTable pivotTable2 = sheet2.createPivotTable(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"), sheet);
|
XSSFPivotTable pivotTable2 = sheet2.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"),
|
||||||
|
new CellReference("H5"), sheet);
|
||||||
assertNotNull(pivotTable2);
|
assertNotNull(pivotTable2);
|
||||||
assertTrue(wb.getPivotTables().size() > 1);
|
assertTrue(wb.getPivotTables().size() > 1);
|
||||||
wb.close();
|
wb.close();
|
||||||
@ -1371,7 +1372,7 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
|
|
||||||
assertNotNull(wb);
|
assertNotNull(wb);
|
||||||
assertNotNull(sheet);
|
assertNotNull(sheet);
|
||||||
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"));
|
XSSFPivotTable pivotTable = sheet.createPivotTable(wb.getCreationHelper().createAreaReference("A1:B2"), new CellReference("H5"));
|
||||||
assertNotNull(pivotTable);
|
assertNotNull(pivotTable);
|
||||||
assertTrue(wb.getPivotTables().size() > 0);
|
assertTrue(wb.getPivotTables().size() > 0);
|
||||||
wb.close();
|
wb.close();
|
||||||
@ -1384,7 +1385,7 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
XSSFSheet sheet2 = wb.createSheet();
|
XSSFSheet sheet2 = wb.createSheet();
|
||||||
|
|
||||||
XSSFPivotTable pivotTable = sheet2.createPivotTable
|
XSSFPivotTable pivotTable = sheet2.createPivotTable
|
||||||
(new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007), new CellReference("H5"), sheet1);
|
(wb.getCreationHelper().createAreaReference("A1:B2"), new CellReference("H5"), sheet1);
|
||||||
assertEquals(0, pivotTable.getRowLabelColumns().size());
|
assertEquals(0, pivotTable.getRowLabelColumns().size());
|
||||||
|
|
||||||
assertEquals(1, wb.getPivotTables().size());
|
assertEquals(1, wb.getPivotTables().size());
|
||||||
@ -1400,7 +1401,7 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
XSSFSheet sheet2 = wb.createSheet("TEST");
|
XSSFSheet sheet2 = wb.createSheet("TEST");
|
||||||
|
|
||||||
XSSFPivotTable pivotTable = sheet2.createPivotTable(
|
XSSFPivotTable pivotTable = sheet2.createPivotTable(
|
||||||
new AreaReference(sheet.getSheetName()+"!A$1:B$2", SpreadsheetVersion.EXCEL2007),
|
wb.getCreationHelper().createAreaReference(sheet.getSheetName()+"!A$1:B$2"),
|
||||||
new CellReference("H5"));
|
new CellReference("H5"));
|
||||||
assertEquals(0, pivotTable.getRowLabelColumns().size());
|
assertEquals(0, pivotTable.getRowLabelColumns().size());
|
||||||
wb.close();
|
wb.close();
|
||||||
@ -1413,7 +1414,7 @@ public final class TestXSSFSheet extends BaseTestXSheet {
|
|||||||
XSSFSheet sheet2 = wb.createSheet("TEST");
|
XSSFSheet sheet2 = wb.createSheet("TEST");
|
||||||
|
|
||||||
sheet2.createPivotTable(
|
sheet2.createPivotTable(
|
||||||
new AreaReference(sheet.getSheetName()+"!A$1:B$2", SpreadsheetVersion.EXCEL2007),
|
wb.getCreationHelper().createAreaReference(sheet.getSheetName()+"!A$1:B$2"),
|
||||||
new CellReference("H5"),
|
new CellReference("H5"),
|
||||||
sheet2);
|
sheet2);
|
||||||
wb.close();
|
wb.close();
|
||||||
|
@ -31,15 +31,14 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
|
import org.apache.poi.util.IOUtils;
|
||||||
import org.apache.poi.util.TempFile;
|
import org.apache.poi.util.TempFile;
|
||||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTable;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTable;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumn;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumn;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableColumns;
|
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableStyleInfo;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTTableStyleInfo;
|
||||||
|
|
||||||
public final class TestXSSFTable {
|
public final class TestXSSFTable {
|
||||||
@ -267,7 +266,8 @@ public final class TestXSSFTable {
|
|||||||
|
|
||||||
assertEquals(new CellReference("C1"), table.getStartCellReference());
|
assertEquals(new CellReference("C1"), table.getStartCellReference());
|
||||||
assertEquals(new CellReference("M3"), table.getEndCellReference());
|
assertEquals(new CellReference("M3"), table.getEndCellReference());
|
||||||
|
|
||||||
|
IOUtils.closeQuietly(wb);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -288,6 +288,8 @@ public final class TestXSSFTable {
|
|||||||
// update cell references to clear the cache
|
// update cell references to clear the cache
|
||||||
table.updateReferences();
|
table.updateReferences();
|
||||||
assertEquals(11, table.getRowCount());
|
assertEquals(11, table.getRowCount());
|
||||||
|
|
||||||
|
IOUtils.closeQuietly(wb);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -350,13 +352,14 @@ public final class TestXSSFTable {
|
|||||||
t.addColumn();
|
t.addColumn();
|
||||||
t.addColumn();
|
t.addColumn();
|
||||||
t.addColumn();
|
t.addColumn();
|
||||||
t.setCellReferences(new AreaReference(
|
t.setCellReferences(wb.getCreationHelper().createAreaReference(
|
||||||
new CellReference(c1), new CellReference(c6)
|
new CellReference(c1), new CellReference(c6)
|
||||||
));
|
));
|
||||||
|
|
||||||
// Save and re-load
|
// Save and re-load
|
||||||
wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
|
XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb);
|
||||||
s = wb.getSheetAt(0);
|
IOUtils.closeQuietly(wb);
|
||||||
|
s = wb2.getSheetAt(0);
|
||||||
|
|
||||||
// Check
|
// Check
|
||||||
assertEquals(1, s.getTables().size());
|
assertEquals(1, s.getTables().size());
|
||||||
@ -370,6 +373,6 @@ public final class TestXSSFTable {
|
|||||||
assertEquals("ABCD", t.getCTTable().getTableColumns().getTableColumnArray(2).getName());
|
assertEquals("ABCD", t.getCTTable().getTableColumns().getTableColumnArray(2).getName());
|
||||||
|
|
||||||
// Done
|
// Done
|
||||||
wb.close();
|
IOUtils.closeQuietly(wb2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -794,7 +794,7 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook {
|
|||||||
Cell cell9 = row3.createCell(2);
|
Cell cell9 = row3.createCell(2);
|
||||||
cell9.setCellValue("Bepa");
|
cell9.setCellValue("Bepa");
|
||||||
|
|
||||||
AreaReference source = new AreaReference("A1:B2", SpreadsheetVersion.EXCEL2007);
|
AreaReference source = wb.getCreationHelper().createAreaReference("A1:B2");
|
||||||
sheet.createPivotTable(source, new CellReference("H5"));
|
sheet.createPivotTable(source, new CellReference("H5"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import org.apache.poi.hssf.HSSFITestDataProvider;
|
|||||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||||
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
||||||
import org.apache.poi.hssf.record.NameRecord;
|
import org.apache.poi.hssf.record.NameRecord;
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.FormulaType;
|
import org.apache.poi.ss.formula.FormulaType;
|
||||||
import org.apache.poi.ss.formula.ptg.Ptg;
|
import org.apache.poi.ss.formula.ptg.Ptg;
|
||||||
import org.apache.poi.ss.usermodel.BaseTestNamedRange;
|
import org.apache.poi.ss.usermodel.BaseTestNamedRange;
|
||||||
@ -197,7 +198,6 @@ public final class TestHSSFName extends BaseTestNamedRange {
|
|||||||
workbook.close();
|
workbook.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeletedReference() throws Exception {
|
public void testDeletedReference() throws Exception {
|
||||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("24207.xls");
|
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("24207.xls");
|
||||||
@ -206,7 +206,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
|
|||||||
HSSFName name1 = wb.getNameAt(0);
|
HSSFName name1 = wb.getNameAt(0);
|
||||||
assertEquals("a", name1.getNameName());
|
assertEquals("a", name1.getNameName());
|
||||||
assertEquals("Sheet1!$A$1", name1.getRefersToFormula());
|
assertEquals("Sheet1!$A$1", name1.getRefersToFormula());
|
||||||
new AreaReference(name1.getRefersToFormula());
|
wb.getCreationHelper().createAreaReference(name1.getRefersToFormula());
|
||||||
assertTrue("Successfully constructed first reference", true);
|
assertTrue("Successfully constructed first reference", true);
|
||||||
|
|
||||||
HSSFName name2 = wb.getNameAt(1);
|
HSSFName name2 = wb.getNameAt(1);
|
||||||
@ -214,7 +214,7 @@ public final class TestHSSFName extends BaseTestNamedRange {
|
|||||||
assertEquals("Sheet1!#REF!", name2.getRefersToFormula());
|
assertEquals("Sheet1!#REF!", name2.getRefersToFormula());
|
||||||
assertTrue(name2.isDeleted());
|
assertTrue(name2.isDeleted());
|
||||||
try {
|
try {
|
||||||
new AreaReference(name2.getRefersToFormula());
|
wb.getCreationHelper().createAreaReference(name2.getRefersToFormula());
|
||||||
fail("attempt to supply an invalid reference to AreaReference constructor results in exception");
|
fail("attempt to supply an invalid reference to AreaReference constructor results in exception");
|
||||||
} catch (IllegalArgumentException e) { // TODO - use a stronger typed exception for this condition
|
} catch (IllegalArgumentException e) { // TODO - use a stronger typed exception for this condition
|
||||||
// expected during successful test
|
// expected during successful test
|
||||||
|
@ -25,6 +25,7 @@ import org.apache.poi.hssf.HSSFTestDataSamples;
|
|||||||
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
||||||
import org.apache.poi.hssf.model.InternalWorkbook;
|
import org.apache.poi.hssf.model.InternalWorkbook;
|
||||||
import org.apache.poi.hssf.record.NameRecord;
|
import org.apache.poi.hssf.record.NameRecord;
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.ptg.Area3DPtg;
|
import org.apache.poi.ss.formula.ptg.Area3DPtg;
|
||||||
import org.apache.poi.ss.formula.ptg.MemFuncPtg;
|
import org.apache.poi.ss.formula.ptg.MemFuncPtg;
|
||||||
import org.apache.poi.ss.formula.ptg.Ptg;
|
import org.apache.poi.ss.formula.ptg.Ptg;
|
||||||
@ -38,13 +39,11 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|||||||
import org.apache.poi.hssf.usermodel.TestHSSFWorkbook;
|
import org.apache.poi.hssf.usermodel.TestHSSFWorkbook;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public final class TestAreaReference extends TestCase {
|
public final class TestAreaReference extends TestCase {
|
||||||
|
|
||||||
public void testAreaRef1() {
|
public void testAreaRef1() {
|
||||||
AreaReference ar = new AreaReference("$A$1:$B$2");
|
AreaReference ar = new AreaReference("$A$1:$B$2", SpreadsheetVersion.EXCEL97);
|
||||||
assertFalse("Two cells expected", ar.isSingleCell());
|
assertFalse("Two cells expected", ar.isSingleCell());
|
||||||
CellReference cf = ar.getFirstCell();
|
CellReference cf = ar.getFirstCell();
|
||||||
assertTrue("row is 4",cf.getRow()==0);
|
assertTrue("row is 4",cf.getRow()==0);
|
||||||
@ -87,14 +86,14 @@ public final class TestAreaReference extends TestCase {
|
|||||||
public void testReferenceWithSheet() {
|
public void testReferenceWithSheet() {
|
||||||
AreaReference ar;
|
AreaReference ar;
|
||||||
|
|
||||||
ar = new AreaReference("Tabelle1!B5:B5");
|
ar = new AreaReference("Tabelle1!B5:B5", SpreadsheetVersion.EXCEL97);
|
||||||
assertTrue(ar.isSingleCell());
|
assertTrue(ar.isSingleCell());
|
||||||
TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, false, false, "Tabelle1!B5");
|
TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, false, false, "Tabelle1!B5");
|
||||||
|
|
||||||
assertEquals(1, ar.getAllReferencedCells().length);
|
assertEquals(1, ar.getAllReferencedCells().length);
|
||||||
|
|
||||||
|
|
||||||
ar = new AreaReference("Tabelle1!$B$5:$B$7");
|
ar = new AreaReference("Tabelle1!$B$5:$B$7", SpreadsheetVersion.EXCEL97);
|
||||||
assertFalse(ar.isSingleCell());
|
assertFalse(ar.isSingleCell());
|
||||||
|
|
||||||
TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, true, true, "Tabelle1!$B$5");
|
TestCellReference.confirmCell(ar.getFirstCell(), "Tabelle1", 4, 1, true, true, "Tabelle1!$B$5");
|
||||||
@ -123,22 +122,22 @@ public final class TestAreaReference extends TestCase {
|
|||||||
assertFalse(AreaReference.isContiguous(refDC3D));
|
assertFalse(AreaReference.isContiguous(refDC3D));
|
||||||
|
|
||||||
// Check we can only create contiguous entries
|
// Check we can only create contiguous entries
|
||||||
new AreaReference(refSimple);
|
new AreaReference(refSimple, SpreadsheetVersion.EXCEL97);
|
||||||
new AreaReference(ref2D);
|
new AreaReference(ref2D, SpreadsheetVersion.EXCEL97);
|
||||||
try {
|
try {
|
||||||
new AreaReference(refDCSimple);
|
new AreaReference(refDCSimple, SpreadsheetVersion.EXCEL97);
|
||||||
fail();
|
fail();
|
||||||
} catch(IllegalArgumentException e) {
|
} catch(IllegalArgumentException e) {
|
||||||
// expected during successful test
|
// expected during successful test
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
new AreaReference(refDC2D);
|
new AreaReference(refDC2D, SpreadsheetVersion.EXCEL97);
|
||||||
fail();
|
fail();
|
||||||
} catch(IllegalArgumentException e) {
|
} catch(IllegalArgumentException e) {
|
||||||
// expected during successful test
|
// expected during successful test
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
new AreaReference(refDC3D);
|
new AreaReference(refDC3D, SpreadsheetVersion.EXCEL97);
|
||||||
fail();
|
fail();
|
||||||
} catch(IllegalArgumentException e) {
|
} catch(IllegalArgumentException e) {
|
||||||
// expected during successful test
|
// expected during successful test
|
||||||
@ -147,17 +146,17 @@ public final class TestAreaReference extends TestCase {
|
|||||||
// Test that we split as expected
|
// Test that we split as expected
|
||||||
AreaReference[] refs;
|
AreaReference[] refs;
|
||||||
|
|
||||||
refs = AreaReference.generateContiguous(refSimple);
|
refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refSimple);
|
||||||
assertEquals(1, refs.length);
|
assertEquals(1, refs.length);
|
||||||
assertTrue(refs[0].isSingleCell());
|
assertTrue(refs[0].isSingleCell());
|
||||||
assertEquals("$C$10", refs[0].formatAsString());
|
assertEquals("$C$10", refs[0].formatAsString());
|
||||||
|
|
||||||
refs = AreaReference.generateContiguous(ref2D);
|
refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, ref2D);
|
||||||
assertEquals(1, refs.length);
|
assertEquals(1, refs.length);
|
||||||
assertFalse(refs[0].isSingleCell());
|
assertFalse(refs[0].isSingleCell());
|
||||||
assertEquals("$C$10:$D$11", refs[0].formatAsString());
|
assertEquals("$C$10:$D$11", refs[0].formatAsString());
|
||||||
|
|
||||||
refs = AreaReference.generateContiguous(refDCSimple);
|
refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refDCSimple);
|
||||||
assertEquals(3, refs.length);
|
assertEquals(3, refs.length);
|
||||||
assertTrue(refs[0].isSingleCell());
|
assertTrue(refs[0].isSingleCell());
|
||||||
assertTrue(refs[1].isSingleCell());
|
assertTrue(refs[1].isSingleCell());
|
||||||
@ -166,7 +165,7 @@ public final class TestAreaReference extends TestCase {
|
|||||||
assertEquals("$D$12", refs[1].formatAsString());
|
assertEquals("$D$12", refs[1].formatAsString());
|
||||||
assertEquals("$E$14", refs[2].formatAsString());
|
assertEquals("$E$14", refs[2].formatAsString());
|
||||||
|
|
||||||
refs = AreaReference.generateContiguous(refDC2D);
|
refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refDC2D);
|
||||||
assertEquals(3, refs.length);
|
assertEquals(3, refs.length);
|
||||||
assertFalse(refs[0].isSingleCell());
|
assertFalse(refs[0].isSingleCell());
|
||||||
assertTrue(refs[1].isSingleCell());
|
assertTrue(refs[1].isSingleCell());
|
||||||
@ -175,7 +174,7 @@ public final class TestAreaReference extends TestCase {
|
|||||||
assertEquals("$D$12", refs[1].formatAsString());
|
assertEquals("$D$12", refs[1].formatAsString());
|
||||||
assertEquals("$E$14:$E$20", refs[2].formatAsString());
|
assertEquals("$E$14:$E$20", refs[2].formatAsString());
|
||||||
|
|
||||||
refs = AreaReference.generateContiguous(refDC3D);
|
refs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refDC3D);
|
||||||
assertEquals(2, refs.length);
|
assertEquals(2, refs.length);
|
||||||
assertFalse(refs[0].isSingleCell());
|
assertFalse(refs[0].isSingleCell());
|
||||||
assertFalse(refs[0].isSingleCell());
|
assertFalse(refs[0].isSingleCell());
|
||||||
@ -230,7 +229,7 @@ public final class TestAreaReference extends TestCase {
|
|||||||
|
|
||||||
// Check the parsing of the reference into cells
|
// Check the parsing of the reference into cells
|
||||||
assertFalse(AreaReference.isContiguous(aNamedCell.getRefersToFormula()));
|
assertFalse(AreaReference.isContiguous(aNamedCell.getRefersToFormula()));
|
||||||
AreaReference[] arefs = AreaReference.generateContiguous(aNamedCell.getRefersToFormula());
|
AreaReference[] arefs = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, aNamedCell.getRefersToFormula());
|
||||||
assertEquals(2, arefs.length);
|
assertEquals(2, arefs.length);
|
||||||
assertEquals(refA, arefs[0].formatAsString());
|
assertEquals(refA, arefs[0].formatAsString());
|
||||||
assertEquals(refB, arefs[1].formatAsString());
|
assertEquals(refB, arefs[1].formatAsString());
|
||||||
@ -250,16 +249,16 @@ public final class TestAreaReference extends TestCase {
|
|||||||
|
|
||||||
public void testSpecialSheetNames() {
|
public void testSpecialSheetNames() {
|
||||||
AreaReference ar;
|
AreaReference ar;
|
||||||
ar = new AreaReference("'Sheet A'!A1:A1");
|
ar = new AreaReference("'Sheet A'!A1:A1", SpreadsheetVersion.EXCEL97);
|
||||||
confirmAreaSheetName(ar, "Sheet A", "'Sheet A'!A1");
|
confirmAreaSheetName(ar, "Sheet A", "'Sheet A'!A1");
|
||||||
|
|
||||||
ar = new AreaReference("'Hey! Look Here!'!A1:A1");
|
ar = new AreaReference("'Hey! Look Here!'!A1:A1", SpreadsheetVersion.EXCEL97);
|
||||||
confirmAreaSheetName(ar, "Hey! Look Here!", "'Hey! Look Here!'!A1");
|
confirmAreaSheetName(ar, "Hey! Look Here!", "'Hey! Look Here!'!A1");
|
||||||
|
|
||||||
ar = new AreaReference("'O''Toole'!A1:B2");
|
ar = new AreaReference("'O''Toole'!A1:B2", SpreadsheetVersion.EXCEL97);
|
||||||
confirmAreaSheetName(ar, "O'Toole", "'O''Toole'!A1:B2");
|
confirmAreaSheetName(ar, "O'Toole", "'O''Toole'!A1:B2");
|
||||||
|
|
||||||
ar = new AreaReference("'one:many'!A1:B2");
|
ar = new AreaReference("'one:many'!A1:B2", SpreadsheetVersion.EXCEL97);
|
||||||
confirmAreaSheetName(ar, "one:many", "'one:many'!A1:B2");
|
confirmAreaSheetName(ar, "one:many", "'one:many'!A1:B2");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,9 +273,19 @@ public final class TestAreaReference extends TestCase {
|
|||||||
confirmWholeColumnRef("$C:D", 2, 3, true, false);
|
confirmWholeColumnRef("$C:D", 2, 3, true, false);
|
||||||
confirmWholeColumnRef("AD:$AE", 29, 30, false, true);
|
confirmWholeColumnRef("AD:$AE", 29, 30, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public void testDeprecatedMethod() {
|
||||||
|
String refSimple = "$C$10:$C$10";
|
||||||
|
AreaReference[] arefs1 = AreaReference.generateContiguous(SpreadsheetVersion.EXCEL97, refSimple);
|
||||||
|
AreaReference[] arefs2 = AreaReference.generateContiguous(refSimple);
|
||||||
|
assertEquals(1, arefs1.length);
|
||||||
|
assertEquals(arefs1.length, arefs2.length);
|
||||||
|
assertEquals(arefs1[0].formatAsString(), arefs2[0].formatAsString());
|
||||||
|
}
|
||||||
|
|
||||||
private static void confirmWholeColumnRef(String ref, int firstCol, int lastCol, boolean firstIsAbs, boolean lastIsAbs) {
|
private static void confirmWholeColumnRef(String ref, int firstCol, int lastCol, boolean firstIsAbs, boolean lastIsAbs) {
|
||||||
AreaReference ar = new AreaReference(ref);
|
AreaReference ar = new AreaReference(ref, SpreadsheetVersion.EXCEL97);
|
||||||
confirmCell(ar.getFirstCell(), 0, firstCol, true, firstIsAbs);
|
confirmCell(ar.getFirstCell(), 0, firstCol, true, firstIsAbs);
|
||||||
confirmCell(ar.getLastCell(), 0xFFFF, lastCol, true, lastIsAbs);
|
confirmCell(ar.getLastCell(), 0xFFFF, lastCol, true, lastIsAbs);
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,14 @@ package org.apache.poi.ss.formula.eval;
|
|||||||
import junit.framework.AssertionFailedError;
|
import junit.framework.AssertionFailedError;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFCell;
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
|
import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFRow;
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.TwoDEval;
|
import org.apache.poi.ss.formula.TwoDEval;
|
||||||
import org.apache.poi.ss.formula.ptg.AreaI;
|
import org.apache.poi.ss.formula.ptg.AreaI;
|
||||||
import org.apache.poi.ss.formula.ptg.AreaI.OffsetArea;
|
import org.apache.poi.ss.formula.ptg.AreaI.OffsetArea;
|
||||||
@ -54,15 +58,17 @@ public final class TestRangeEval extends TestCase {
|
|||||||
createRefEval(refA),
|
createRefEval(refA),
|
||||||
createRefEval(refB),
|
createRefEval(refB),
|
||||||
};
|
};
|
||||||
@SuppressWarnings("deprecation")
|
List<SpreadsheetVersion> versions = Arrays.asList(new SpreadsheetVersion[] {SpreadsheetVersion.EXCEL97, SpreadsheetVersion.EXCEL2007});
|
||||||
AreaReference ar = new AreaReference(expectedAreaRef);
|
for(SpreadsheetVersion version : versions) {
|
||||||
ValueEval result = EvalInstances.Range.evaluate(args, 0, (short)0);
|
AreaReference ar = new AreaReference(expectedAreaRef, version);
|
||||||
assertTrue(result instanceof AreaEval);
|
ValueEval result = EvalInstances.Range.evaluate(args, 0, (short)0);
|
||||||
AreaEval ae = (AreaEval) result;
|
assertTrue(result instanceof AreaEval);
|
||||||
assertEquals(ar.getFirstCell().getRow(), ae.getFirstRow());
|
AreaEval ae = (AreaEval) result;
|
||||||
assertEquals(ar.getLastCell().getRow(), ae.getLastRow());
|
assertEquals(ar.getFirstCell().getRow(), ae.getFirstRow());
|
||||||
assertEquals(ar.getFirstCell().getCol(), ae.getFirstColumn());
|
assertEquals(ar.getLastCell().getRow(), ae.getLastRow());
|
||||||
assertEquals(ar.getLastCell().getCol(), ae.getLastColumn());
|
assertEquals(ar.getFirstCell().getCol(), ae.getFirstColumn());
|
||||||
|
assertEquals(ar.getLastCell().getCol(), ae.getLastColumn());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ValueEval createRefEval(String refStr) {
|
private static ValueEval createRefEval(String refStr) {
|
||||||
|
@ -500,8 +500,7 @@ public abstract class BaseTestNamedRange {
|
|||||||
assertNotNull(aNamedCell);
|
assertNotNull(aNamedCell);
|
||||||
|
|
||||||
// retrieve the cell at the named range and test its contents
|
// retrieve the cell at the named range and test its contents
|
||||||
@SuppressWarnings("deprecation")
|
AreaReference aref = wb.getCreationHelper().createAreaReference(aNamedCell.getRefersToFormula());
|
||||||
AreaReference aref = new AreaReference(aNamedCell.getRefersToFormula());
|
|
||||||
assertTrue("Should be exactly 1 cell in the named cell :'" +cellName+"'", aref.isSingleCell());
|
assertTrue("Should be exactly 1 cell in the named cell :'" +cellName+"'", aref.isSingleCell());
|
||||||
|
|
||||||
CellReference cref = aref.getFirstCell();
|
CellReference cref = aref.getFirstCell();
|
||||||
@ -512,7 +511,6 @@ public abstract class BaseTestNamedRange {
|
|||||||
Cell c = r.getCell(cref.getCol());
|
Cell c = r.getCell(cref.getCol());
|
||||||
String contents = c.getRichStringCellValue().getString();
|
String contents = c.getRichStringCellValue().getString();
|
||||||
assertEquals("Contents of cell retrieved by its named reference", contents, cellValue);
|
assertEquals("Contents of cell retrieved by its named reference", contents, cellValue);
|
||||||
|
|
||||||
wb.close();
|
wb.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,10 +62,4 @@ public class TestAreaReference extends TestCase {
|
|||||||
assertEquals(SpreadsheetVersion.EXCEL2007.getLastColumnIndex(), newStyle.getLastCell().getCol());
|
assertEquals(SpreadsheetVersion.EXCEL2007.getLastColumnIndex(), newStyle.getLastCell().getCol());
|
||||||
assertEquals(1, newStyle.getLastCell().getRow());
|
assertEquals(1, newStyle.getLastCell().getRow());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") // deliberate test for behaviour if deprecated constructor used.
|
|
||||||
public void testFallbackToExcel97IfVersionNotSupplied() {
|
|
||||||
assertTrue(new AreaReference("A:B").isWholeColumnReference());
|
|
||||||
assertTrue(AreaReference.isWholeColumnReference(null, new CellReference("A$1"), new CellReference("A$" + SpreadsheetVersion.EXCEL97.getMaxRows())));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user