Example #1
0
 private void ReadWorkSheet_dataValidations_ItemCustom(DataValidationCustom dvCustom, XElement node)
 {
     XElement formulaNode = node.Element(XName.Get("formula1", ExcelCommon.Schema_WorkBook_Main.NamespaceName));
     if (formulaNode != null)
     {
         dvCustom.Formula.Formula = formulaNode.Value;
     }
 }
Example #2
0
        private void WriteWorkSheet_DataValidations_formulas_Custom(DataValidationCustom customItem, XElement dataValidationNode)
        {

            dataValidationNode.Add(new XElement(XName.Get("formula1", ExcelCommon.Schema_WorkBook_Main.NamespaceName), customItem.Formula.GetValueAsString()));
        }
Example #3
0
 private void ReadWorkSheet_dataValidations(WorkSheet target, XElement sheetNode)
 {
     target._Validations = new DataValidationCollection(target);
     foreach (XElement node in sheetNode.Elements(XName.Get("dataValidation", ExcelCommon.Schema_WorkBook_Main.NamespaceName)))
     {
         XAttribute dvXA = node.Attribute(XName.Get("type"));
         if (dvXA != null)
         {
             DataValidationType dvType = DataValidationType.GetBySchemaName(dvXA.Value);
             string address = node.Attribute(XName.Get("sqref")).Value;
             IDataValidation item = null;
             switch (dvType.Type)
             {
                 case ExcelDataValidationType.TextLength:
                 case ExcelDataValidationType.Whole:
                     {
                         DataValidationInt dvint = new DataValidationInt(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvint, node);
                         ReadWorkSheet_dataValidations_ItemInt(dvint, node);
                         item = dvint;
                         break;
                     }
                 case ExcelDataValidationType.Decimal:
                     {
                         DataValidationDecimal dvDecima = new DataValidationDecimal(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvDecima, node);
                         ReadWorkSheet_dataValidations_ItemDecima(dvDecima, node);
                         item = dvDecima;
                         break;
                     }
                 case ExcelDataValidationType.List:
                     {
                         DataValidationList dvList = new DataValidationList(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvList, node);
                         ReadWorkSheet_dataValidations_ItemList(dvList, node);
                         item = dvList;
                         break;
                     }
                 case ExcelDataValidationType.DateTime:
                     {
                         DataValidationDateTime dvDateTime = new DataValidationDateTime(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvDateTime, node);
                         ReadWorkSheet_dataValidations_ItemDateTime(dvDateTime, node);
                         item = dvDateTime;
                         break;
                     }
                 case ExcelDataValidationType.Time:
                     {
                         DataValidationTime dvTime = new DataValidationTime(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvTime, node);
                         ReadWorkSheet_dataValidations_ItemTime(dvTime, node);
                         item = dvTime;
                         break;
                     }
                 case ExcelDataValidationType.Custom:
                     {
                         DataValidationCustom dvCustom = new DataValidationCustom(address, dvType);
                         ReadWorkSheet_dataValidations_Item(dvCustom, node);
                         ReadWorkSheet_dataValidations_ItemCustom(dvCustom, node);
                         item = dvCustom;
                         break;
                     }
                 default:
                     throw new InvalidOperationException("不存在验证: " + dvType.Type.ToString());
             }
             target._Validations.Add(item);
         }
     }
 }