Browse Source

fix build issue

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1856649 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_4_1_0
PJ Fanning 5 years ago
parent
commit
5d580f48e6

+ 4
- 4
src/java/org/apache/poi/ss/usermodel/DataFormatter.java View File

@@ -49,7 +49,6 @@ import org.apache.poi.ss.util.NumberToTextConverter;
import org.apache.poi.util.LocaleUtil;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


/**
@@ -311,10 +310,11 @@ public class DataFormatter implements Observer {
}

private boolean isDate1904(Cell cell) {
if (cell == null || ! (cell.getSheet().getWorkbook() instanceof XSSFWorkbook) ) {
return false;
if ( cell != null && cell.getSheet().getWorkbook() instanceof Date1904Support) {
return ((Date1904Support)cell.getSheet().getWorkbook()).isDate1904();

}
return ((XSSFWorkbook) cell.getSheet().getWorkbook()).isDate1904();
return false;
}
private Format getFormat(double cellValue, int formatIndex, String formatStrIn, boolean use1904Windowing) {

+ 35
- 0
src/java/org/apache/poi/ss/usermodel/Date1904Support.java View File

@@ -0,0 +1,35 @@
/* ====================================================================
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;

import org.apache.poi.util.Internal;

@Internal
public interface Date1904Support {
/**
* Gets a boolean value that indicates whether the date systems used in the workbook starts in 1904.
* <p>
* The default value is false, meaning that the workbook uses the 1900 date system,
* where 1/1/1900 is the first day in the system.
*
* 1904 based dates are only supported in XSSF workbooks.
* </p>
* @return true if the date systems used in the workbook starts in 1904
*/
boolean isDate1904();
}

+ 4
- 7
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java View File

@@ -67,12 +67,8 @@ import org.apache.poi.ss.formula.SheetNameFormatter;
import org.apache.poi.ss.formula.udf.AggregatingUDFFinder;
import org.apache.poi.ss.formula.udf.IndexedUDFFinder;
import org.apache.poi.ss.formula.udf.UDFFinder;
import org.apache.poi.ss.usermodel.Name;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Row.MissingCellPolicy;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.SheetVisibility;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.ss.util.WorkbookUtil;
import org.apache.poi.util.Beta;
@@ -119,7 +115,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument;
* will construct whether they are reading or writing a workbook. It is also the
* top level object for creating new sheets/etc.
*/
public class XSSFWorkbook extends POIXMLDocument implements Workbook {
public class XSSFWorkbook extends POIXMLDocument implements Workbook, Date1904Support {
private static final Pattern COMMA_PATTERN = Pattern.compile(",");

/**
@@ -1854,7 +1850,8 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
* @return true if the date systems used in the workbook starts in 1904
*/
@Internal
public boolean isDate1904(){
@Override
public boolean isDate1904() {
CTWorkbookPr workbookPr = workbook.getWorkbookPr();
return workbookPr != null && workbookPr.getDate1904();
}

Loading…
Cancel
Save