public override IEnumerable <object> GetRangeValues(string address)
        {
            SetCurrentWorksheet(ExcelAddressInfo.Parse(address));
            var addr   = new ExcelAddress(address);
            var wsName = string.IsNullOrEmpty(addr.WorkSheet) ? _currentWorksheet.Name : addr.WorkSheet;
            var ws     = _package.Workbook.Worksheets[wsName];

            return((IEnumerable <object>)(new CellsStoreEnumerator <ExcelCoreValue>(ws._values, addr._fromRow, addr._fromCol, addr._toRow, addr._toCol)));
        }
Exemplo n.º 2
0
        public override void SetCellValue(string address, object value)
        {
            var addressInfo = ExcelAddressInfo.Parse(address);
            var ra          = _rangeAddressFactory.Create(address);

            SetCurrentWorksheet(addressInfo);
            var valueInfo = (ICalcEngineValueInfo)_currentWorksheet;

            valueInfo.SetFormulaValue(ra.FromRow + 1, ra.FromCol + 1, value);
        }
 private void SetCurrentWorksheet(ExcelAddressInfo addressInfo)
 {
     if (addressInfo.WorksheetIsSpecified)
     {
         _currentWorksheet = _package.Workbook.Worksheets[addressInfo.Worksheet];
     }
     else if (_currentWorksheet == null)
     {
         _currentWorksheet = _package.Workbook.Worksheets.First();
     }
 }
Exemplo n.º 4
0
        public override ExcelCell GetCellValue(string address)
        {
            var addressInfo = ExcelAddressInfo.Parse(address);

            SetCurrentWorksheet(addressInfo);
            var cell = _currentWorksheet.Cells[addressInfo.AddressOnSheet].FirstOrDefault();

            if (cell != null)
            {
                return(new ExcelCell(cell.Value, cell.Formula, cell.Start.Column, cell.Start.Row));
            }
            return(null);
        }
Exemplo n.º 5
0
        public override IEnumerable <ExcelCell> GetRangeValues(string address)
        {
            var returnList  = new List <ExcelCell>();
            var addressInfo = ExcelAddressInfo.Parse(address);

            SetCurrentWorksheet(addressInfo);
            var range = _currentWorksheet.Cells[addressInfo.AddressOnSheet];

            foreach (var cell in range)
            {
                returnList.Add(new ExcelCell(cell.Value, cell.Formula, cell.Start.Column, cell.Start.Row));
            }
            return(returnList);
        }
Exemplo n.º 6
0
        public void AddressOnSheetShouldBeSameAsAddressIfNoWorksheetIsSpecified()
        {
            var info = ExcelAddressInfo.Parse("A1:A2");

            Assert.AreEqual("A1:A2", info.AddressOnSheet);
        }
Exemplo n.º 7
0
        public void ParseShouldSetAddressOnSheet()
        {
            var info = ExcelAddressInfo.Parse("Worksheet!A1:A2");

            Assert.AreEqual("A1:A2", info.AddressOnSheet);
        }
Exemplo n.º 8
0
        public void ShouldSetEndCell()
        {
            var info = ExcelAddressInfo.Parse("A1:A2");

            Assert.AreEqual("A2", info.EndCell);
        }
Exemplo n.º 9
0
        public void ShouldIndicateMultipleCellsWhenAddressContainsAColon()
        {
            var info = ExcelAddressInfo.Parse("A1:A2");

            Assert.IsTrue(info.IsMultipleCells);
        }
Exemplo n.º 10
0
        public void WorksheetIsSpecifiedShouldBeTrueWhenWorksheetIsSupplied()
        {
            var info = ExcelAddressInfo.Parse("Worksheet!A1");

            Assert.IsTrue(info.WorksheetIsSpecified);
        }
Exemplo n.º 11
0
        public void ParseShouldSetWorksheet()
        {
            var info = ExcelAddressInfo.Parse("Worksheet!A1");

            Assert.AreEqual("Worksheet", info.Worksheet);
        }
Exemplo n.º 12
0
 public void ParseShouldThrowIfAddressIsNull()
 {
     ExcelAddressInfo.Parse(null);
 }