예제 #1
0
 public void AddRule(Rule rule)
 {
     Rules.Add(rule);
     var tmp = new List<string>();
     foreach (var r in Rules)
     {
         tmp.Add(r.Formulra);
         tmp.Add(r.Type);
     }
     tmp.Sort();
     RuleList = string.Join(",", tmp);
 }
예제 #2
0
 /// <summary>
 /// 条件付き書式の定義一覧からオブジェクト化する
 /// </summary>
 /// <param name="data">XMLデータ</param>
 /// <returns>オブジェクト化した条件付き書式の定義一覧</returns>
 private static List<ConditionFormat> GetConditionFormatLsit(string data)
 {
     var conditionFormatLsit = new List<ConditionFormat>();
     var conditionFormatSelects = Regex.Matches(data, ConditionDefine);
     for (var i = 0; i < conditionFormatSelects.Count; i++)
     {
         var result = new ConditionFormat
         {
             FullText = conditionFormatSelects[i].Value,
             Sqref = conditionFormatSelects[i].Groups[1].Value
         };
         var conditionFormatRules = Regex.Matches(conditionFormatSelects[i].Value, RuleDefine);
         for (var j = 0; j < conditionFormatRules.Count; j++)
         {
             var conditionFormatRule = new Rule
             {
                 Type = conditionFormatRules[j].Groups[1].Value,
                 DxfId = conditionFormatRules[j].Groups[3].Value,
                 Formulra = conditionFormatRules[j].Groups[5].Value
             };
             result.AddRule(conditionFormatRule);
         }
         conditionFormatLsit.Add(result);
     }
     return conditionFormatLsit;
 }