Exemplo n.º 1
0
        public static object[,] fUtilityArrayIgnoreNA(object[] array)
        {
            List <object> output = new List <object>();

            foreach (object entry in array)
            {
                if (entry is ExcelDna.Integration.ExcelError == false)
                {
                    output.Add(entry);
                }
            }

            return(ExcelFriendlyConversion.ArrayToVerticalObject(output.ToArray()));
        }
Exemplo n.º 2
0
        public static object[,] fUtilityGetIntersection(object[] array1, object[] array2)
        {
            var list1 = array1.ToList();
            var list2 = array2.ToList();

            var group1 =
                from n in list1
                group n by n
                into g
                select new { g.Key, count = g.Count() };

            var group2 =
                from n in list2
                group n by n
                into g
                select new { g.Key, count = g.Count() };

            var joined =
                from b in group2
                join a in group1 on b.Key equals a.Key
                select new { b.Key, Count = Math.Min(b.count, a.count) };

            return(ExcelFriendlyConversion.ArrayToVerticalObject(joined.SelectMany(a => Enumerable.Repeat(a.Key, a.Count)).ToArray()));
        }
Exemplo n.º 3
0
        public static object[,] fUtilityGetDistinctValues(object[] array)
        {
            var list = array.ToList <object>();

            return(ExcelFriendlyConversion.ArrayToVerticalObject(list.Distinct().ToArray()));
        }