Преглед на файлове

bug 58879: add SpreadsheetVersion to Workbook interface

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1725039 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_14_FINAL
Javen O'Neal преди 8 години
родител
ревизия
fca4f0d0cb

+ 12
- 0
src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java Целия файл

@@ -76,6 +76,7 @@ import org.apache.poi.poifs.filesystem.FilteringDirectoryNode;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.Ole10Native;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.FormulaShifter;
import org.apache.poi.ss.formula.FormulaType;
import org.apache.poi.ss.formula.SheetNameFormatter;
@@ -2152,4 +2153,15 @@ public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss
public InternalWorkbook getInternalWorkbook() {
return workbook;
}
/**
* Returns the spreadsheet version (EXCLE97) of this workbook
*
* @return EXCEL97 SpreadsheetVersion enum
* @since 3.14 beta 2
*/
@Override
public SpreadsheetVersion getSpreadsheetVersion() {
return SpreadsheetVersion.EXCEL97;
}
}

+ 9
- 0
src/java/org/apache/poi/ss/usermodel/Workbook.java Целия файл

@@ -23,6 +23,7 @@ import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;

import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.udf.UDFFinder;
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
import org.apache.poi.ss.util.CellRangeAddress;
@@ -623,5 +624,13 @@ public interface Workbook extends Closeable, Iterable<Sheet> {
* @since 3.8
*/
boolean getForceFormulaRecalculation();
/**
* Returns the spreadsheet version of this workbook
*
* @return SpreadsheetVersion enum
* @since 3.14 beta 2
*/
public SpreadsheetVersion getSpreadsheetVersion();

}

+ 12
- 0
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java Целия файл

@@ -35,6 +35,7 @@ import java.util.zip.ZipOutputStream;

import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.internal.ZipHelper;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.udf.UDFFinder;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
@@ -1325,5 +1326,16 @@ public class SXSSFWorkbook implements Workbook {
return _wb.getForceFormulaRecalculation();
}

/**
* Returns the spreadsheet version (EXCLE2007) of this workbook
*
* @return EXCEL2007 SpreadsheetVersion enum
* @since 3.14 beta 2
*/
@Override
public SpreadsheetVersion getSpreadsheetVersion() {
return SpreadsheetVersion.EXCEL2007;
}

//end of interface implementation
}

+ 12
- 0
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Целия файл

@@ -54,6 +54,7 @@ import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
import org.apache.poi.openxml4j.opc.TargetMode;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.SheetNameFormatter;
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
import org.apache.poi.ss.formula.udf.UDFFinder;
@@ -2255,4 +2256,15 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
setVBAProject(vbaProjectStream);
}
}

/**
* Returns the spreadsheet version (EXCLE2007) of this workbook
*
* @return EXCEL2007 SpreadsheetVersion enum
* @since 3.14 beta 2
*/
@Override
public SpreadsheetVersion getSpreadsheetVersion() {
return SpreadsheetVersion.EXCEL2007;
}
}

+ 8
- 1
src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFWorkbook.java Целия файл

@@ -30,6 +30,7 @@ import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.POITestCase;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.BaseTestWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
@@ -47,7 +48,7 @@ import org.junit.Ignore;
import org.junit.Test;

public final class TestSXSSFWorkbook extends BaseTestWorkbook {
public static final SXSSFITestDataProvider _testDataProvider = SXSSFITestDataProvider.instance;
private static final SXSSFITestDataProvider _testDataProvider = SXSSFITestDataProvider.instance;

public TestSXSSFWorkbook() {
super(_testDataProvider);
@@ -435,4 +436,10 @@ public final class TestSXSSFWorkbook extends BaseTestWorkbook {
streamingWorkBook.close();
workBook.close();
}
@Test
@Override
public void getSpreadsheetVersion() throws IOException {
verifySpreadsheetVersion(SpreadsheetVersion.EXCEL2007);
}
}

+ 8
- 1
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Целия файл

@@ -77,9 +77,10 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode;

public final class TestXSSFWorkbook extends BaseTestWorkbook {
private static final XSSFITestDataProvider _testDataProvider = XSSFITestDataProvider.instance;

public TestXSSFWorkbook() {
super(XSSFITestDataProvider.instance);
super(_testDataProvider);
}

/**
@@ -1078,4 +1079,10 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertTrue(file.delete());
}
}

@Test
@Override
public void getSpreadsheetVersion() throws IOException {
verifySpreadsheetVersion(SpreadsheetVersion.EXCEL2007);
}
}

+ 10
- 1
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Целия файл

@@ -53,6 +53,7 @@ import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.ptg.Area3DPtg;
import org.apache.poi.ss.usermodel.BaseTestWorkbook;
import org.apache.poi.ss.usermodel.Name;
@@ -70,8 +71,10 @@ import junit.framework.AssertionFailedError;
* Tests for {@link HSSFWorkbook}
*/
public final class TestHSSFWorkbook extends BaseTestWorkbook {
private static final HSSFITestDataProvider _testDataProvider = HSSFITestDataProvider.instance;
public TestHSSFWorkbook() {
super(HSSFITestDataProvider.instance);
super(_testDataProvider);
}

/**
@@ -1253,4 +1256,10 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
fileOut.close();

}
@Test
@Override
public void getSpreadsheetVersion() throws IOException {
verifySpreadsheetVersion(SpreadsheetVersion.EXCEL97);
}
}

+ 10
- 0
src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java Целия файл

@@ -31,6 +31,7 @@ import java.util.ConcurrentModificationException;
import java.util.Iterator;

import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.util.CellRangeAddress;
import org.junit.Test;

@@ -822,4 +823,13 @@ public abstract class BaseTestWorkbook {
b.close();
}

@Test
public abstract void getSpreadsheetVersion() throws IOException;
protected void verifySpreadsheetVersion(SpreadsheetVersion expected) throws IOException {
final Workbook wb = _testDataProvider.createWorkbook();
assertEquals(expected, wb.getSpreadsheetVersion());
wb.close();
}
}

Loading…
Отказ
Запис