diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs index af14128..cf57850 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs @@ -634,5 +634,17 @@ { Worksheets.ForEach(w => w.Dispose()); } + + public Boolean Use1904DateSystem { get; set; } + public XLWorkbook SetUse1904DateSystem() + { + return SetUse1904DateSystem(true); + } + + public XLWorkbook SetUse1904DateSystem(Boolean value) + { + Use1904DateSystem = value; + return this; + } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs index 5e13eba..d2c89a4 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs @@ -83,6 +83,8 @@ CustomProperties.Add(name, m.VTBool.Text == "true"); } } + var date1904 = dSpreadsheet.WorkbookPart.Workbook.WorkbookProperties.Date1904; + Use1904DateSystem = date1904 != null && date1904.Value; var referenceMode = dSpreadsheet.WorkbookPart.Workbook.CalculationProperties.ReferenceMode; if (referenceMode != null) diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index 75bf762..b7e07b3 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -430,6 +430,9 @@ if (workbook.WorkbookProperties.CodeName == null) workbook.WorkbookProperties.CodeName = "ThisWorkbook"; + if (Use1904DateSystem) + workbook.WorkbookProperties.Date1904 = true; + #endregion if (workbook.BookViews == null)