Пример #1
0
        internal void Add(MergedCellRange mergedRange)
        {
            if (mergedRange.IsAnyCellMerged)
            {
                throw new ArgumentException("New merged range can't overlap with existing merged range.");
            }
            this.AddInternal(mergedRange);
            CellStyle style1 = new CellStyle();

            MergedCellRanges.ResolveBorder(style1, mergedRange, IndividualBorder.Top, 0, 0, 0, 1);
            MergedCellRanges.ResolveBorder(style1, mergedRange, IndividualBorder.Left, 0, 0, 1, 0);
            MergedCellRanges.ResolveBorder(style1, mergedRange, IndividualBorder.Bottom, mergedRange.Height - 1, 0, 0, 1);
            MergedCellRanges.ResolveBorder(style1, mergedRange, IndividualBorder.Right, 0, mergedRange.Width - 1, 1, 0);
            bool      flag1  = false;
            CellStyle style2 = null;

            foreach (ExcelCell cell1 in mergedRange)
            {
                if (!flag1)
                {
                    if (!cell1.IsStyleDefault)
                    {
                        style2 = cell1.Style;
                    }
                    flag1 = true;
                }
                cell1.AddToMergedRange(mergedRange);
            }
            if ((mergedRange.Value == null) && (style2 != null))
            {
                mergedRange.Style = style2;
            }
            mergedRange.Style.Borders = style1.Borders;
        }
Пример #2
0
 internal MergedCellRanges(ExcelWorksheet parent, MergedCellRanges sourceRanges)
 {
     this.items  = new Hashtable();
     this.parent = parent;
     foreach (MergedCellRange range1 in sourceRanges.Values)
     {
         this.Add(new MergedCellRange(this.parent, range1));
     }
 }
Пример #3
0
        private void FixMergedRegionsIndexes(int rowIndex, int offset)
        {
            MergedCellRanges ranges1 = base.Parent.MergedRanges;
            MergedCellRanges ranges2 = new MergedCellRanges(base.Parent);

            foreach (MergedCellRange range1 in ranges1.Values)
            {
                range1.FixRowIndexes(rowIndex, offset);
                if ((range1.Height >= 1) && ((range1.Height != 1) || (range1.Width != 1)))
                {
                    ranges2.AddInternal(range1);
                }
            }
            base.Parent.MergedRanges = ranges2;
        }