Start generalising the IgnoredErrorType code for later HSSF use too #56892
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1730540 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
63a7f89342
commit
0982d9dee5
45
src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java
Normal file
45
src/java/org/apache/poi/ss/usermodel/IgnoredErrorType.java
Normal file
@ -0,0 +1,45 @@
|
||||
/* ====================================================================
|
||||
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 ignored workbook and worksheet error.
|
||||
*
|
||||
* TODO Give more details on what these mean
|
||||
*/
|
||||
public enum IgnoredErrorType {
|
||||
|
||||
CALCULATED_COLUMN,
|
||||
|
||||
EMPTY_CELL_REFERENCE,
|
||||
|
||||
EVALUATION_ERROR,
|
||||
|
||||
FORMULA,
|
||||
|
||||
FORMULA_RANGE,
|
||||
|
||||
LIST_DATA_VALIDATION,
|
||||
|
||||
NUMBER_STORED_AS_TEXT,
|
||||
|
||||
TWO_DIGIT_TEXT_YEAR,
|
||||
|
||||
UNLOCKED_FORMULA;
|
||||
}
|
@ -62,6 +62,7 @@ import org.apache.poi.ss.usermodel.DataValidation;
|
||||
import org.apache.poi.ss.usermodel.DataValidationHelper;
|
||||
import org.apache.poi.ss.usermodel.Footer;
|
||||
import org.apache.poi.ss.usermodel.Header;
|
||||
import org.apache.poi.ss.usermodel.IgnoredErrorType;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
@ -78,6 +79,7 @@ import org.apache.poi.util.POILogFactory;
|
||||
import org.apache.poi.util.POILogger;
|
||||
import org.apache.poi.xssf.model.CommentsTable;
|
||||
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
|
||||
import org.apache.poi.xssf.usermodel.helpers.XSSFIgnoredErrorHelper;
|
||||
import org.apache.poi.xssf.usermodel.helpers.XSSFRowShifter;
|
||||
import org.apache.xmlbeans.XmlException;
|
||||
import org.apache.xmlbeans.XmlOptions;
|
||||
@ -4149,14 +4151,14 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
||||
CTIgnoredError ctIgnoredError = ctIgnoredErrors.addNewIgnoredError();
|
||||
ctIgnoredError.setSqref(Arrays.asList(ref));
|
||||
for (IgnoredErrorType errType : ignoredErrorTypes) {
|
||||
errType.set(ctIgnoredError);
|
||||
XSSFIgnoredErrorHelper.set(errType, ctIgnoredError);
|
||||
}
|
||||
}
|
||||
|
||||
private Set<IgnoredErrorType> getErrorTypes(CTIgnoredError err) {
|
||||
Set<IgnoredErrorType> result = new LinkedHashSet<IgnoredErrorType>();
|
||||
for (IgnoredErrorType errType : IgnoredErrorType.values()) {
|
||||
if (errType.isSet(err)) {
|
||||
if (XSSFIgnoredErrorHelper.isSet(errType, err)) {
|
||||
result.add(errType);
|
||||
}
|
||||
}
|
||||
|
@ -15,37 +15,17 @@
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.xssf.usermodel;
|
||||
package org.apache.poi.xssf.usermodel.helpers;
|
||||
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIgnoredError;
|
||||
import org.apache.poi.ss.usermodel.IgnoredErrorType;
|
||||
|
||||
/**
|
||||
* Types of ignored error.
|
||||
* XSSF-specific code for working with ignored errors
|
||||
*/
|
||||
public enum IgnoredErrorType {
|
||||
|
||||
CALCULATED_COLUMN,
|
||||
|
||||
EMPTY_CELL_REFERENCE,
|
||||
|
||||
EVALUATION_ERROR,
|
||||
|
||||
FORMULA,
|
||||
|
||||
FORMULA_RANGE,
|
||||
|
||||
LIST_DATA_VALIDATION,
|
||||
|
||||
NUMBER_STORED_AS_TEXT,
|
||||
|
||||
TWO_DIGIT_TEXT_YEAR,
|
||||
|
||||
UNLOCKED_FORMULA;
|
||||
|
||||
// Methods below are not part of the public API
|
||||
|
||||
boolean isSet(CTIgnoredError error) {
|
||||
switch(this) {
|
||||
public class XSSFIgnoredErrorHelper {
|
||||
public static boolean isSet(IgnoredErrorType errorType, CTIgnoredError error) {
|
||||
switch(errorType) {
|
||||
case CALCULATED_COLUMN:
|
||||
return error.isSetCalculatedColumn();
|
||||
case EMPTY_CELL_REFERENCE:
|
||||
@ -69,8 +49,8 @@ public enum IgnoredErrorType {
|
||||
}
|
||||
}
|
||||
|
||||
void set(CTIgnoredError error) {
|
||||
switch(this) {
|
||||
public static void set(IgnoredErrorType errorType, CTIgnoredError error) {
|
||||
switch(errorType) {
|
||||
case CALCULATED_COLUMN:
|
||||
error.setCalculatedColumn(true);
|
||||
break;
|
||||
@ -102,5 +82,4 @@ public enum IgnoredErrorType {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user