Пример #1
0
        public void TestDummyToSource()
        {
            bool changed = mainWorkbook.ChangeExternalReference("DOESNOTEXIST", SOURCE_WORKBOOK_FILENAME);

            Assert.IsFalse(changed);

            changed = mainWorkbook.ChangeExternalReference(SOURCE_DUMMY_WORKBOOK_FILENAME, SOURCE_WORKBOOK_FILENAME);
            Assert.IsTrue(changed);

            HSSFSheet lSheet  = (HSSFSheet)mainWorkbook.GetSheetAt(0);
            HSSFCell  lA1Cell = (HSSFCell)lSheet.GetRow(0).GetCell(0);

            Assert.AreEqual(CellType.Formula, lA1Cell.CellType);

            HSSFFormulaEvaluator lMainWorkbookEvaluator = new HSSFFormulaEvaluator(mainWorkbook);
            HSSFFormulaEvaluator lSourceEvaluator       = new HSSFFormulaEvaluator(sourceWorkbook);

            HSSFFormulaEvaluator.SetupEnvironment(
                new String[] { MAIN_WORKBOOK_FILENAME, SOURCE_WORKBOOK_FILENAME },
                new HSSFFormulaEvaluator[] { lMainWorkbookEvaluator, lSourceEvaluator });

            Assert.AreEqual(CellType.Numeric, lMainWorkbookEvaluator.EvaluateFormulaCell(lA1Cell));

            Assert.AreEqual(20.0d, lA1Cell.NumericCellValue, 0.00001d);
        }