static void AddToValidations(ICollection <DataValidation> validations, XSSFSheet sheet, string[] names) { CT_DataValidations dataValidations = ((CT_Worksheet)sheet.GetType() .GetField("worksheet", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly) .GetValue(sheet)).dataValidations; if (dataValidations == null) { return; } foreach (CT_DataValidation dataValidation in dataValidations.dataValidation) { if (dataValidation.formula1 == null) { continue; } var range = ExcelHelper.ParseRange(dataValidation.sqref, ExcelVersion.Xlsx); if (range == null) { continue; } var validation = new DataValidation { Range = range }; if (names.Contains(dataValidation.formula1)) { validation.Type = DataValidationType.Formula; validation.Name = dataValidation.formula1; } else { validation.Type = DataValidationType.List; validation.List = dataValidation.formula1.Trim('\"').Split(','); } validations.Add(validation); } }
public CT_DataValidations AddNewDataValidations() { this.dataValidationsField = new CT_DataValidations(); return(this.dataValidationsField); }
public static CT_Worksheet Parse(XmlNode node, XmlNamespaceManager namespaceManager) { if (node == null) { return(null); } CT_Worksheet ctObj = new CT_Worksheet(); ctObj.cols = new List <CT_Cols>(); ctObj.conditionalFormatting = new List <CT_ConditionalFormatting>(); foreach (XmlNode childNode in node.ChildNodes) { if (childNode.LocalName == "sheetPr") { ctObj.sheetPr = CT_SheetPr.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "dimension") { ctObj.dimension = CT_SheetDimension.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sheetViews") { ctObj.sheetViews = CT_SheetViews.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sheetFormatPr") { ctObj.sheetFormatPr = CT_SheetFormatPr.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sheetData") { ctObj.sheetData = CT_SheetData.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sheetCalcPr") { ctObj.sheetCalcPr = CT_SheetCalcPr.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sheetProtection") { ctObj.sheetProtection = CT_SheetProtection.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "protectedRanges") { ctObj.protectedRanges = CT_ProtectedRanges.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "scenarios") { ctObj.scenarios = CT_Scenarios.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "autoFilter") { ctObj.autoFilter = CT_AutoFilter.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "sortState") { ctObj.sortState = CT_SortState.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "dataConsolidate") { ctObj.dataConsolidate = CT_DataConsolidate.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "customSheetViews") { ctObj.customSheetViews = CT_CustomSheetViews.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "mergeCells") { ctObj.mergeCells = CT_MergeCells.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "phoneticPr") { ctObj.phoneticPr = CT_PhoneticPr.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "dataValidations") { ctObj.dataValidations = CT_DataValidations.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "hyperlinks") { ctObj.hyperlinks = CT_Hyperlinks.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "printOptions") { ctObj.printOptions = CT_PrintOptions.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "pageMargins") { ctObj.pageMargins = CT_PageMargins.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "pageSetup") { ctObj.pageSetup = CT_PageSetup.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "headerFooter") { ctObj.headerFooter = CT_HeaderFooter.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "rowBreaks") { ctObj.rowBreaks = CT_PageBreak.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "colBreaks") { ctObj.colBreaks = CT_PageBreak.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "customProperties") { ctObj.customProperties = CT_CustomProperties.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "cellWatches") { ctObj.cellWatches = CT_CellWatches.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "ignoredErrors") { ctObj.ignoredErrors = CT_IgnoredErrors.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "smartTags") { ctObj.smartTags = CT_CellSmartTags.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "drawing") { ctObj.drawing = CT_Drawing.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "legacyDrawing") { ctObj.legacyDrawing = CT_LegacyDrawing.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "legacyDrawingHF") { ctObj.legacyDrawingHF = CT_LegacyDrawing.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "picture") { ctObj.picture = CT_SheetBackgroundPicture.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "oleObjects") { ctObj.oleObjects = CT_OleObjects.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "controls") { ctObj.controls = CT_Controls.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "webPublishItems") { ctObj.webPublishItems = CT_WebPublishItems.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "tableParts") { ctObj.tableParts = CT_TableParts.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "extLst") { ctObj.extLst = CT_ExtensionList.Parse(childNode, namespaceManager); } else if (childNode.LocalName == "cols") { ctObj.cols.Add(CT_Cols.Parse(childNode, namespaceManager)); } else if (childNode.LocalName == "conditionalFormatting") { ctObj.conditionalFormatting.Add(CT_ConditionalFormatting.Parse(childNode, namespaceManager)); } } return(ctObj); }