mirror of https://github.com/apache/poi.git
introduce CellReferenceType
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1897779 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b5d5077681
commit
e6926f9779
|
@ -50,6 +50,7 @@ import org.apache.poi.openxml4j.util.ZipSecureFile;
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.formula.EvaluationWorkbook;
|
import org.apache.poi.ss.formula.EvaluationWorkbook;
|
||||||
import org.apache.poi.ss.formula.udf.UDFFinder;
|
import org.apache.poi.ss.formula.udf.UDFFinder;
|
||||||
|
import org.apache.poi.ss.usermodel.CellReferenceType;
|
||||||
import org.apache.poi.ss.usermodel.CellStyle;
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
import org.apache.poi.ss.usermodel.CreationHelper;
|
import org.apache.poi.ss.usermodel.CreationHelper;
|
||||||
import org.apache.poi.ss.usermodel.DataFormat;
|
import org.apache.poi.ss.usermodel.DataFormat;
|
||||||
|
@ -1356,8 +1357,8 @@ public class SXSSFWorkbook implements Workbook {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean usesR1C1CellReferences() {
|
public CellReferenceType getCellReferenceType() {
|
||||||
return getXSSFWorkbook().usesR1C1CellReferences();
|
return getXSSFWorkbook().getCellReferenceType();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -71,6 +71,7 @@ import org.apache.poi.ss.formula.SheetNameFormatter;
|
||||||
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
|
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
|
||||||
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
|
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
|
||||||
import org.apache.poi.ss.formula.udf.UDFFinder;
|
import org.apache.poi.ss.formula.udf.UDFFinder;
|
||||||
|
import org.apache.poi.ss.usermodel.CellReferenceType;
|
||||||
import org.apache.poi.ss.usermodel.DataFormat;
|
import org.apache.poi.ss.usermodel.DataFormat;
|
||||||
import org.apache.poi.ss.usermodel.Date1904Support;
|
import org.apache.poi.ss.usermodel.Date1904Support;
|
||||||
import org.apache.poi.ss.usermodel.Name;
|
import org.apache.poi.ss.usermodel.Name;
|
||||||
|
@ -1551,16 +1552,16 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Su
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean usesR1C1CellReferences() {
|
public CellReferenceType getCellReferenceType() {
|
||||||
final CTCalcPr calcPr = getCTWorkbook().getCalcPr();
|
final CTCalcPr calcPr = getCTWorkbook().getCalcPr();
|
||||||
if (calcPr == null) {
|
if (calcPr == null) {
|
||||||
return null;
|
return CellReferenceType.UNKNOWN;
|
||||||
} else if (calcPr.getRefMode() == R_1_C_1) {
|
} else if (calcPr.getRefMode() == R_1_C_1) {
|
||||||
return Boolean.TRUE;
|
return CellReferenceType.R1C1;
|
||||||
} else if (calcPr.getRefMode() == A_1) {
|
} else if (calcPr.getRefMode() == A_1) {
|
||||||
return Boolean.FALSE;
|
return CellReferenceType.A1;
|
||||||
}
|
}
|
||||||
return null;
|
return CellReferenceType.UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -17,38 +17,38 @@
|
||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
|
|
||||||
import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleFileStream;
|
|
||||||
import static org.apache.poi.xssf.XSSFTestDataSamples.*;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertSame;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.zip.CRC32;
|
|
||||||
|
|
||||||
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
|
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
|
||||||
import org.apache.poi.POIDataSamples;
|
import org.apache.poi.POIDataSamples;
|
||||||
import org.apache.poi.hssf.HSSFTestDataSamples;
|
import org.apache.poi.hssf.HSSFTestDataSamples;
|
||||||
import org.apache.poi.ooxml.POIXMLProperties;
|
import org.apache.poi.ooxml.POIXMLProperties;
|
||||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||||
import org.apache.poi.openxml4j.opc.*;
|
import org.apache.poi.openxml4j.opc.ContentTypes;
|
||||||
|
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackageAccess;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackagePartName;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
|
||||||
|
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
||||||
|
import org.apache.poi.openxml4j.opc.ZipPackage;
|
||||||
import org.apache.poi.openxml4j.opc.internal.FileHelper;
|
import org.apache.poi.openxml4j.opc.internal.FileHelper;
|
||||||
import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart;
|
import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart;
|
||||||
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
|
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
|
||||||
import org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource;
|
import org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource;
|
||||||
import org.apache.poi.ss.tests.usermodel.BaseTestXWorkbook;
|
import org.apache.poi.ss.tests.usermodel.BaseTestXWorkbook;
|
||||||
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.CellReferenceType;
|
||||||
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
|
import org.apache.poi.ss.usermodel.Comment;
|
||||||
|
import org.apache.poi.ss.usermodel.DataFormatter;
|
||||||
|
import org.apache.poi.ss.usermodel.Font;
|
||||||
|
import org.apache.poi.ss.usermodel.FormulaError;
|
||||||
|
import org.apache.poi.ss.usermodel.RichTextString;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
|
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
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.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
|
@ -68,6 +68,31 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.zip.CRC32;
|
||||||
|
|
||||||
|
import static org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM;
|
||||||
|
import static org.apache.poi.hssf.HSSFTestDataSamples.openSampleFileStream;
|
||||||
|
import static org.apache.poi.xssf.XSSFTestDataSamples.openSampleWorkbook;
|
||||||
|
import static org.apache.poi.xssf.XSSFTestDataSamples.writeOut;
|
||||||
|
import static org.apache.poi.xssf.XSSFTestDataSamples.writeOutAndReadBack;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertSame;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
public final class TestXSSFWorkbook extends BaseTestXWorkbook {
|
public final class TestXSSFWorkbook extends BaseTestXWorkbook {
|
||||||
|
|
||||||
public TestXSSFWorkbook() {
|
public TestXSSFWorkbook() {
|
||||||
|
@ -1347,12 +1372,12 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook {
|
||||||
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
||||||
XSSFWorkbook wb = openSampleWorkbook("WithTable.xlsx")
|
XSSFWorkbook wb = openSampleWorkbook("WithTable.xlsx")
|
||||||
) {
|
) {
|
||||||
assertFalse(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.A1, wb.getCellReferenceType());
|
||||||
wb.setUseR1C1CellReferences(true);
|
wb.setUseR1C1CellReferences(true);
|
||||||
assertTrue(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb.getCellReferenceType());
|
||||||
wb.write(bos);
|
wb.write(bos);
|
||||||
try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) {
|
try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) {
|
||||||
assertTrue(wb2.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb2.getCellReferenceType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1363,12 +1388,12 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook {
|
||||||
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
||||||
XSSFWorkbook wb = new XSSFWorkbook()
|
XSSFWorkbook wb = new XSSFWorkbook()
|
||||||
) {
|
) {
|
||||||
assertNull(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.UNKNOWN, wb.getCellReferenceType());
|
||||||
wb.setUseR1C1CellReferences(true);
|
wb.setUseR1C1CellReferences(true);
|
||||||
assertTrue(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb.getCellReferenceType());
|
||||||
wb.write(bos);
|
wb.write(bos);
|
||||||
try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) {
|
try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) {
|
||||||
assertTrue(wb2.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb2.getCellReferenceType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,6 +96,7 @@ import org.apache.poi.ss.formula.SheetNameFormatter;
|
||||||
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
|
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
|
||||||
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
|
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
|
||||||
import org.apache.poi.ss.formula.udf.UDFFinder;
|
import org.apache.poi.ss.formula.udf.UDFFinder;
|
||||||
|
import org.apache.poi.ss.usermodel.CellReferenceType;
|
||||||
import org.apache.poi.ss.usermodel.Name;
|
import org.apache.poi.ss.usermodel.Name;
|
||||||
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
|
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
|
||||||
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
@ -1748,7 +1749,7 @@ public final class HSSFWorkbook extends POIDocument implements Workbook {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean usesR1C1CellReferences() {
|
public CellReferenceType getCellReferenceType() {
|
||||||
for (HSSFSheet hssfSheet : _sheets) {
|
for (HSSFSheet hssfSheet : _sheets) {
|
||||||
InternalSheet internalSheet = hssfSheet.getSheet();
|
InternalSheet internalSheet = hssfSheet.getSheet();
|
||||||
|
|
||||||
|
@ -1759,14 +1760,14 @@ public final class HSSFWorkbook extends POIDocument implements Workbook {
|
||||||
if (record instanceof RefModeRecord) refModeRecord = (RefModeRecord)record;
|
if (record instanceof RefModeRecord) refModeRecord = (RefModeRecord)record;
|
||||||
}
|
}
|
||||||
if (refModeRecord == null) {
|
if (refModeRecord == null) {
|
||||||
return null;
|
continue;
|
||||||
} else if (refModeRecord.getMode() == RefModeRecord.USE_R1C1_MODE) {
|
} else if (refModeRecord.getMode() == RefModeRecord.USE_R1C1_MODE) {
|
||||||
return Boolean.TRUE;
|
return CellReferenceType.R1C1;
|
||||||
} else if (refModeRecord.getMode() == RefModeRecord.USE_A1_MODE) {
|
} else if (refModeRecord.getMode() == RefModeRecord.USE_A1_MODE) {
|
||||||
return Boolean.FALSE;
|
return CellReferenceType.A1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return CellReferenceType.UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* ====================================================================
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Types of cell references.
|
||||||
|
* @since POI 5.2.1
|
||||||
|
*/
|
||||||
|
public enum CellReferenceType {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cells are referenced in the form A1, B4, etc.
|
||||||
|
*/
|
||||||
|
A1,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cells are referenced in the form R1C1, R4C2, etc.
|
||||||
|
*/
|
||||||
|
R1C1,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The cell reference type is not defined explicitly by <code>A1</code> is the default in this case.
|
||||||
|
*/
|
||||||
|
UNKNOWN
|
||||||
|
}
|
|
@ -633,11 +633,10 @@ public interface Workbook extends Closeable, Iterable<Sheet> {
|
||||||
EvaluationWorkbook createEvaluationWorkbook();
|
EvaluationWorkbook createEvaluationWorkbook();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return true if workbook is configured to use R1C1 cell references (as opposed to A1 cell references).
|
* @return the type of cell references used
|
||||||
* Returns null if the configuration is not explicitly set on the workbook.
|
|
||||||
* @since POI 5.2.1
|
* @since POI 5.2.1
|
||||||
*/
|
*/
|
||||||
Boolean usesR1C1CellReferences();
|
CellReferenceType getCellReferenceType();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param useR1C1CellReferences set to true if you want to configure workbook to use R1C1 cell references (as opposed to A1 cell references).
|
* @param useR1C1CellReferences set to true if you want to configure workbook to use R1C1 cell references (as opposed to A1 cell references).
|
||||||
|
|
|
@ -61,6 +61,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
import org.apache.poi.ss.formula.ptg.Area3DPtg;
|
import org.apache.poi.ss.formula.ptg.Area3DPtg;
|
||||||
import org.apache.poi.ss.usermodel.BaseTestWorkbook;
|
import org.apache.poi.ss.usermodel.BaseTestWorkbook;
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.CellReferenceType;
|
||||||
import org.apache.poi.ss.usermodel.ConditionalFormatting;
|
import org.apache.poi.ss.usermodel.ConditionalFormatting;
|
||||||
import org.apache.poi.ss.usermodel.ConditionalFormattingRule;
|
import org.apache.poi.ss.usermodel.ConditionalFormattingRule;
|
||||||
import org.apache.poi.ss.usermodel.Name;
|
import org.apache.poi.ss.usermodel.Name;
|
||||||
|
@ -1184,12 +1185,12 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
|
||||||
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
||||||
HSSFWorkbook wb = openSampleWorkbook("49423.xls")
|
HSSFWorkbook wb = openSampleWorkbook("49423.xls")
|
||||||
) {
|
) {
|
||||||
assertFalse(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.A1, wb.getCellReferenceType());
|
||||||
wb.setUseR1C1CellReferences(true);
|
wb.setUseR1C1CellReferences(true);
|
||||||
assertTrue(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb.getCellReferenceType());
|
||||||
wb.write(bos);
|
wb.write(bos);
|
||||||
try (HSSFWorkbook wb2 = new HSSFWorkbook(bos.toInputStream())) {
|
try (HSSFWorkbook wb2 = new HSSFWorkbook(bos.toInputStream())) {
|
||||||
assertTrue(wb2.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb2.getCellReferenceType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1200,14 +1201,14 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
|
||||||
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
|
||||||
HSSFWorkbook wb = new HSSFWorkbook()
|
HSSFWorkbook wb = new HSSFWorkbook()
|
||||||
) {
|
) {
|
||||||
assertNull(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.UNKNOWN, wb.getCellReferenceType());
|
||||||
HSSFSheet sheet = wb.createSheet();
|
HSSFSheet sheet = wb.createSheet();
|
||||||
assertFalse(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.A1, wb.getCellReferenceType());
|
||||||
wb.setUseR1C1CellReferences(true);
|
wb.setUseR1C1CellReferences(true);
|
||||||
assertTrue(wb.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb.getCellReferenceType());
|
||||||
wb.write(bos);
|
wb.write(bos);
|
||||||
try (HSSFWorkbook wb2 = new HSSFWorkbook(bos.toInputStream())) {
|
try (HSSFWorkbook wb2 = new HSSFWorkbook(bos.toInputStream())) {
|
||||||
assertTrue(wb2.usesR1C1CellReferences());
|
assertEquals(CellReferenceType.R1C1, wb2.getCellReferenceType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue