public void TestDate1904SetAndRemoveSetting() { var dt1 = new DateTime(2008, 2, 29); var dt2 = new DateTime(1950, 11, 30); ExcelPackage pck = new ExcelPackage(); pck.Workbook.Date1904 = true; var ws = pck.Workbook.Worksheets.Add("test"); ws.Cells[1, 1, 2, 1].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(14); ws.Cells[1, 1].Value = dt1; ws.Cells[2, 1].Value = dt2; pck.Save(); var pck2 = new ExcelPackage(pck.Stream); pck2.Workbook.Date1904 = false; pck2.Save(); var pck3 = new ExcelPackage(pck2.Stream); ExcelWorksheet ws3 = pck3.Workbook.Worksheets["test"]; Assert.AreEqual(dt1.AddDays(365.5 * -4), ws3.Cells[1, 1].Value); Assert.AreEqual(dt2.AddDays(365.5 * -4), ws3.Cells[2, 1].Value); pck.Dispose(); pck2.Dispose(); pck3.Dispose(); }
public void TestDate1904SetAndSetSetting() { var dt1 = new DateTime(2008, 2, 29); var dt2 = new DateTime(1950, 11, 30); ExcelPackage pck = new ExcelPackage(); pck.Workbook.Date1904 = true; var ws = pck.Workbook.Worksheets.Add("test"); ws.Cells[1, 1, 2, 1].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(14); ws.Cells[1, 1].Value = dt1; ws.Cells[2, 1].Value = dt2; pck.Save(); var pck2 = new ExcelPackage(pck.Stream); pck2.Workbook.Date1904 = true; // Only the cells must be updated when this change, if set the same nothing must change pck2.Save(); var pck3 = new ExcelPackage(pck2.Stream); var ws3 = pck3.Workbook.Worksheets["test"]; Assert.AreEqual(dt1, ws3.Cells[1, 1].Value); Assert.AreEqual(dt2, ws3.Cells[2, 1].Value); pck.Dispose(); pck2.Dispose(); pck3.Dispose(); }
public XSSFDxfStyleProvider(CT_Dxf dxf, int stripeSize, IIndexedColorMap colorMap) { this.stripeSize = stripeSize; this.colorMap = colorMap; if (dxf == null) { border = null; font = null; number = null; fill = null; } else { border = dxf.IsSetBorder() ? new XSSFBorderFormatting(dxf.border) : null; font = dxf.IsSetFont() ? new XSSFFontFormatting(dxf.font) : null; if (dxf.IsSetNumFmt()) { CT_NumFmt numFmt = dxf.numFmt; number = new ExcelNumberFormat((int)numFmt.numFmtId, numFmt.formatCode); } else { number = null; } fill = dxf.IsSetFill() ? new XSSFPatternFormatting(dxf.fill) : null; } }
internal string GetNewID(int NumFmtId, string Format) { if (NumFmtId < 0) { NumFmtId = ExcelNumberFormat.GetFromBuildIdFromFormat(Format); } return(NumFmtId.ToString()); }
public ExcelNumberFormatInstance(ObjectInstance prototype, ExcelNumberFormat excelNumberFormat) : this(prototype) { if (excelNumberFormat == null) { throw new ArgumentNullException("excelNumberFormat"); } m_excelNumberFormat = excelNumberFormat; }
private static void SetStyle(ExcelWorkbook workbook, FormulaCell item, DataType dataType) { var sheet = workbook.Worksheets.GetBySheetID(item.SheetID); if (dataType == DataType.Date) { sheet.Cells[item.Row, item.Column].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(14); } else if (dataType == DataType.Time) { sheet.Cells[item.Row, item.Column].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(21); } else if (dataType == DataType.Integer) { sheet.Cells[item.Row, item.Column].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(1); } else if (dataType == DataType.Decimal) { sheet.Cells[item.Row, item.Column].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(2); } }
public void TestDate1904WithoutSetting() { var dt1 = new DateTime(2008, 2, 29); var dt2 = new DateTime(1950, 11, 30); ExcelPackage pck = new ExcelPackage(); ExcelWorksheet ws = pck.Workbook.Worksheets.Add("test"); ws.Cells[1, 1, 2, 1].Style.Numberformat.Format = ExcelNumberFormat.GetFromBuildInFromID(14); ws.Cells[1, 1].Value = dt1; ws.Cells[2, 1].Value = dt2; pck.Save(); var pck2 = new ExcelPackage(pck.Stream); var ws2 = pck2.Workbook.Worksheets["test"]; Assert.AreEqual(dt1, ws2.Cells[1, 1].Value); Assert.AreEqual(dt2, ws2.Cells[2, 1].Value); pck.Dispose(); pck2.Dispose(); }
public EvaluationConditionalFormatRule(WorkbookEvaluator workbookEvaluator, ISheet sheet, IConditionalFormatting formatting, int formattingIndex, IConditionalFormattingRule rule, int ruleIndex, CellRangeAddress[] regions) { this.workbookEvaluator = workbookEvaluator; this.sheet = sheet; this.formatting = formatting; this.rule = rule; this.formattingIndex = formattingIndex; this.ruleIndex = ruleIndex; this.priority = rule.Priority; this.regions = regions; formula1 = rule.Formula1; formula2 = rule.Formula2; text = rule.Text; lowerText = text == null ? null : text.ToLowerInvariant(); numberFormat = rule.NumberFormat; @operator = (OperatorEnum)rule.ComparisonOperation; type = rule.ConditionType; }
internal ExcelDxfStyleConditionalFormatting(XmlNamespaceManager nameSpaceManager, XmlNode topNode, ExcelStyles styles) : base(styles) { NumberFormat = new ExcelDxfNumberFormat(_styles); Font = new ExcelDxfFontBase(_styles); Border = new ExcelDxfBorderBase(_styles); Fill = new ExcelDxfFill(_styles); if (topNode != null) { _helper = new XmlHelperInstance(nameSpaceManager, topNode); NumberFormat.NumFmtID = _helper.GetXmlNodeInt("d:numFmt/@numFmtId"); NumberFormat.Format = _helper.GetXmlNodeString("d:numFmt/@formatCode"); if (NumberFormat.NumFmtID < 164 && string.IsNullOrEmpty(NumberFormat.Format)) { NumberFormat.Format = ExcelNumberFormat.GetFromBuildInFromID(NumberFormat.NumFmtID); } Font.Bold = _helper.GetXmlNodeBoolNullable("d:font/d:b/@val"); Font.Italic = _helper.GetXmlNodeBoolNullable("d:font/d:i/@val"); Font.Strike = _helper.GetXmlNodeBoolNullable("d:font/d:strike"); Font.Underline = GetUnderLineEnum(_helper.GetXmlNodeString("d:font/d:u/@val")); Font.Color = GetColor(_helper, "d:font/d:color"); Border.Left = GetBorderItem(_helper, "d:border/d:left"); Border.Right = GetBorderItem(_helper, "d:border/d:right"); Border.Bottom = GetBorderItem(_helper, "d:border/d:bottom"); Border.Top = GetBorderItem(_helper, "d:border/d:top"); Fill.PatternType = GetPatternTypeEnum(_helper.GetXmlNodeString("d:fill/d:patternFill/@patternType")); Fill.BackgroundColor = GetColor(_helper, "d:fill/d:patternFill/d:bgColor/"); Fill.PatternColor = GetColor(_helper, "d:fill/d:patternFill/d:fgColor/"); } else { _helper = new XmlHelperInstance(nameSpaceManager); } _helper.SchemaNodeOrder = new string[] { "font", "numFmt", "fill", "border" }; }
public NumberFormat(ExcelNumberFormat numberFormat) { _numberFormat = numberFormat; }