git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1856649 13f79535-47bb-0310-9956-ffa450edef68tags/REL_4_1_0
@@ -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) { |
@@ -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(); | |||
} |
@@ -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(); | |||
} |