Пример #1
0
        public void FindMatchAfterColumnShifting()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                ws.Column(3).InsertColumnsBefore(2);

                var address = new XLAddress(ws, 102, 6, false, false);

                Assert.True(index.Contains(in address));
            }
        }
Пример #2
0
        public void FindNonExistingMatches()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                for (int i = 1; i <= TEST_COUNT; i++)
                {
                    var address = new XLAddress(ws, i * 2 + 1, 3, false, false);
                    Assert.False(index.Contains(in address));
                }
            }
        }
Пример #3
0
        public void FindMatchAfterRowShifting()
        {
            using (var wb = new XLWorkbook())
            {
                var ws    = wb.Worksheets.Add("Sheet1") as XLWorksheet;
                var index = FillIndexWithTestData(ws);

                ws.Row(10).InsertRowsBelow(3);

                var address = new XLAddress(ws, 103, 4, false, false);

                Assert.True(index.Contains(in address));
            }
        }
Пример #4
0
        internal IXLPicture CopyTo(XLWorksheet targetSheet)
        {
            if (targetSheet == null)
            {
                targetSheet = Worksheet as XLWorksheet;
            }

            IXLPicture newPicture;

            if (targetSheet == Worksheet)
            {
                newPicture = targetSheet.AddPicture(ImageStream, Format);
            }
            else
            {
                newPicture = targetSheet.AddPicture(ImageStream, Format, Name);
            }

            newPicture = newPicture
                         .WithPlacement(XLPicturePlacement.FreeFloating)
                         .WithSize(Width, Height)
                         .WithPlacement(Placement);

            switch (Placement)
            {
            case XLPicturePlacement.FreeFloating:
                newPicture.MoveTo(Left, Top);
                break;

            case XLPicturePlacement.Move:
                var newAddress = new XLAddress(targetSheet, TopLeftCellAddress.RowNumber,
                                               TopLeftCellAddress.ColumnNumber, false, false);
                newPicture.MoveTo(newAddress, GetOffset(XLMarkerPosition.TopLeft));
                break;

            case XLPicturePlacement.MoveAndSize:
                var newFromAddress = new XLAddress(targetSheet, TopLeftCellAddress.RowNumber,
                                                   TopLeftCellAddress.ColumnNumber, false, false);
                var newToAddress = new XLAddress(targetSheet, BottomRightCellAddress.RowNumber,
                                                 BottomRightCellAddress.ColumnNumber, false, false);

                newPicture.MoveTo(newFromAddress, GetOffset(XLMarkerPosition.TopLeft), newToAddress,
                                  GetOffset(XLMarkerPosition.BottomRight));
                break;
            }

            return(newPicture);
        }
Пример #5
0
 public new IEnumerable <T> GetIntersectedRanges(XLAddress address)
 {
     return(base.GetIntersectedRanges(address).Cast <T>());
 }