From 106796a197e4da29daa3738b4ec7366830f4f397 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Tue, 5 Aug 2008 15:49:40 +0000 Subject: [PATCH] Add a common interface for HSSF and XSSF excel extractors, to make setting their optional flags easier git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@682767 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hssf/extractor/ExcelExtractor.java | 2 +- .../poi/ss/extractor/ExcelExtractor.java | 44 +++++++++++++++++++ .../poi/ss/extractor/ExcelExtractor.java | 44 +++++++++++++++++++ .../xssf/extractor/XSSFExcelExtractor.java | 2 +- 4 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 src/ooxml/interfaces-jdk14/org/apache/poi/ss/extractor/ExcelExtractor.java create mode 100644 src/ooxml/interfaces-jdk15/org/apache/poi/ss/extractor/ExcelExtractor.java diff --git a/src/java/org/apache/poi/hssf/extractor/ExcelExtractor.java b/src/java/org/apache/poi/hssf/extractor/ExcelExtractor.java index 67499cd0b..f3089b70b 100644 --- a/src/java/org/apache/poi/hssf/extractor/ExcelExtractor.java +++ b/src/java/org/apache/poi/hssf/extractor/ExcelExtractor.java @@ -37,7 +37,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem; * the XLS2CSVmra example * @see org.apache.poi.hssf.eventusermodel.examples.XLS2CSVmra */ -public class ExcelExtractor extends POIOLE2TextExtractor { +public class ExcelExtractor extends POIOLE2TextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor { private HSSFWorkbook wb; private boolean includeSheetNames = true; private boolean formulasNotResults = false; diff --git a/src/ooxml/interfaces-jdk14/org/apache/poi/ss/extractor/ExcelExtractor.java b/src/ooxml/interfaces-jdk14/org/apache/poi/ss/extractor/ExcelExtractor.java new file mode 100644 index 000000000..8817bc7e2 --- /dev/null +++ b/src/ooxml/interfaces-jdk14/org/apache/poi/ss/extractor/ExcelExtractor.java @@ -0,0 +1,44 @@ +/* ==================================================================== + 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.extractor; + +/** + * Common interface for Excel text extractors, covering + * HSSF and XSSF + */ +public interface ExcelExtractor { + /** + * Should sheet names be included? Default is true + */ + public void setIncludeSheetNames(boolean includeSheetNames); + + /** + * Should we return the formula itself, and not + * the result it produces? Default is false + */ + public void setFormulasNotResults(boolean formulasNotResults); + + /** + * Should cell comments be included? Default is false + */ + public void setIncludeCellComments(boolean includeCellComments); + + /** + * Retreives the text contents of the file + */ + public String getText(); +} diff --git a/src/ooxml/interfaces-jdk15/org/apache/poi/ss/extractor/ExcelExtractor.java b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/extractor/ExcelExtractor.java new file mode 100644 index 000000000..8817bc7e2 --- /dev/null +++ b/src/ooxml/interfaces-jdk15/org/apache/poi/ss/extractor/ExcelExtractor.java @@ -0,0 +1,44 @@ +/* ==================================================================== + 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.extractor; + +/** + * Common interface for Excel text extractors, covering + * HSSF and XSSF + */ +public interface ExcelExtractor { + /** + * Should sheet names be included? Default is true + */ + public void setIncludeSheetNames(boolean includeSheetNames); + + /** + * Should we return the formula itself, and not + * the result it produces? Default is false + */ + public void setFormulasNotResults(boolean formulasNotResults); + + /** + * Should cell comments be included? Default is false + */ + public void setIncludeCellComments(boolean includeCellComments); + + /** + * Retreives the text contents of the file + */ + public String getText(); +} 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 b026baf0e..33614edc0 100644 --- a/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java +++ b/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java @@ -35,7 +35,7 @@ import org.openxml4j.opc.Package; /** * Helper class to extract text from an OOXML Excel file */ -public class XSSFExcelExtractor extends POIXMLTextExtractor { +public class XSSFExcelExtractor extends POIXMLTextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor { private XSSFWorkbook workbook; private boolean includeSheetNames = true; private boolean formulasNotResults = false;