aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2014-02-02 16:23:26 +0000
committerNick Burch <nick@apache.org>2014-02-02 16:23:26 +0000
commitba910a458489b0a0e97248f7c63f714dcfb38d0f (patch)
treefe5f59629a16c6f9a89da9f7d6dc5b42970abc10
parent715e8071897fe226e98fc4dec8365d54e0b82baa (diff)
downloadpoi-ba910a458489b0a0e97248f7c63f714dcfb38d0f.tar.gz
poi-ba910a458489b0a0e97248f7c63f714dcfb38d0f.zip
Have the Excel text extractors all implement the same interface, as best as they can
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1563650 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java16
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java30
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java3
3 files changed, 33 insertions, 16 deletions
diff --git a/src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java b/src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java
index aef71dc548..541c048ae0 100644
--- a/src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java
+++ b/src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java
@@ -59,10 +59,10 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
* <link href="http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java">
* http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java</link>
*/
-public class EventBasedExcelExtractor extends POIOLE2TextExtractor {
- private DirectoryNode _dir;
- boolean _includeSheetNames = true;
- boolean _formulasNotResults = false;
+public class EventBasedExcelExtractor extends POIOLE2TextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor {
+ private DirectoryNode _dir;
+ boolean _includeSheetNames = true;
+ boolean _formulasNotResults = false;
/**
* @deprecated Use {@link #EventBasedExcelExtractor(DirectoryNode)} instead
@@ -109,7 +109,15 @@ public class EventBasedExcelExtractor extends POIOLE2TextExtractor {
throw new IllegalStateException("Metadata extraction not supported in streaming mode, please use ExcelExtractor");
}
+ /**
+ * Would control the inclusion of cell comments from the document,
+ * if we supported it
+ */
+ public void setIncludeCellComments(boolean includeComments) {
+ throw new IllegalStateException("Comment extraction not supported in streaming mode, please use ExcelExtractor");
+ }
+
/**
* Should sheet names be included? Default is true
*/
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
index a313271e58..14bdd39aa5 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
@@ -26,10 +26,10 @@ import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.poi.POIXMLProperties;
-import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.POIXMLProperties.CoreProperties;
import org.apache.poi.POIXMLProperties.CustomProperties;
import org.apache.poi.POIXMLProperties.ExtendedProperties;
+import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.DataFormatter;
@@ -50,14 +50,15 @@ import org.xml.sax.XMLReader;
* Implementation of a text extractor from OOXML Excel
* files that uses SAX event based parsing.
*/
-public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor {
- private OPCPackage container;
- private POIXMLProperties properties;
-
- private Locale locale;
- private boolean includeSheetNames = true;
- private boolean formulasNotResults = false;
- private boolean includeTextBoxes = true;
+public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor
+ implements org.apache.poi.ss.extractor.ExcelExtractor {
+ private OPCPackage container;
+ private POIXMLProperties properties;
+
+ private Locale locale;
+ private boolean includeSheetNames = true;
+ private boolean formulasNotResults = false;
+ private boolean includeTextBoxes = true;
public XSSFEventBasedExcelExtractor(String path) throws XmlException, OpenXML4JException, IOException {
this(OPCPackage.open(path));
@@ -97,12 +98,19 @@ public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor {
/**
* Should text from textboxes be included? Default is true
*/
-
public void setIncludeTextBoxes(boolean includeTextBoxes) {
this.includeTextBoxes = includeTextBoxes;
}
- public void setLocale(Locale locale) {
+ /**
+ * Would control the inclusion of cell comments from the document,
+ * if we supported it
+ */
+ public void setIncludeCellComments(boolean includeCellComments) {
+ throw new IllegalStateException("Comment extraction not supported in streaming mode, please use XSSFExcelExtractor");
+ }
+
+ public void setLocale(Locale locale) {
this.locale = locale;
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java
index 1d7c877151..ba3844ae0e 100644
--- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java
+++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java
@@ -42,7 +42,8 @@ import org.apache.xmlbeans.XmlException;
/**
* Helper class to extract text from an OOXML Excel file
*/
-public class XSSFExcelExtractor extends POIXMLTextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor {
+public class XSSFExcelExtractor extends POIXMLTextExtractor
+ implements org.apache.poi.ss.extractor.ExcelExtractor {
public static final XSSFRelation[] SUPPORTED_TYPES = new XSSFRelation[] {
XSSFRelation.WORKBOOK, XSSFRelation.MACRO_TEMPLATE_WORKBOOK,
XSSFRelation.MACRO_ADDIN_WORKBOOK, XSSFRelation.TEMPLATE_WORKBOOK,