private static void ParseFormulas(EPPlusExcelDataProvider provider, FormulaParser parser, ExcelWorksheet worksheet)
 {
     var formulas = provider.GetWorksheetFormulas(worksheet.Name);
     foreach (var formulaAddress in formulas.Keys)
     {
         var result = parser.ParseAt(formulaAddress);
         provider.SetCellValue(formulaAddress, result);
     }
 }
 public static void Calculate(this ExcelWorkbook workbook, ExcelPackage package)
 {
     var provider = new EPPlusExcelDataProvider(package);
     var parser = new FormulaParser(provider);
     foreach (var worksheet in workbook.Worksheets)
     {
         ParseFormulas(provider, parser, worksheet);
     }
 }
 public void ParseAtShouldCallExcelDataProvider()
 {
     var excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>();
     excelDataProvider
         .Stub(x => x.GetRangeValues("A1"))
         .Return(new List<ExcelCell> { new ExcelCell(null, "Sum(1,2)", 0, 0) });
     var parser = new FormulaParser(excelDataProvider);
     var result = parser.ParseAt("A1");
     Assert.AreEqual(3d, result);
 }
 public void ShouldHandleCircularReference2()
 {
     var expectedAddres = "A1:A2";
     var provider = MockRepository.GenerateStub<ExcelDataProvider>();
     provider
         .Stub(x => x.GetRangeValues(expectedAddres))
         .Return(new ExcelCell[] { CreateItem(1, 0), new ExcelCell(null, "SUM(A1:A2)",0, 1) });
     var parser = new FormulaParser(provider);
     var result = parser.Parse(string.Format("sum({0})", expectedAddres));
 }
 public void ShouldExecuteFormulaInRange()
 {
     var expectedAddres = "A1:A2";
     var provider = MockRepository.GenerateStub<ExcelDataProvider>();
     provider
         .Stub(x => x.GetRangeValues(expectedAddres))
         .Return(new ExcelCell[] { CreateItem(1, 0), new ExcelCell(null, "SUM(1,2)", 0, 1) });
     var parser = new FormulaParser(provider);
     var result = parser.Parse(string.Format("sum({0})", expectedAddres));
     Assert.AreEqual(4d, result);
 }
 public void ShouldCallProviderInSumFunctionAndCalculateResult()
 {
     var expectedAddres = "A1:A2";
     var provider = MockRepository.GenerateStub<ExcelDataProvider>();
     provider
         .Stub(x => x.GetRangeValues(expectedAddres))
         .Return(new ExcelCell[] { CreateItem(1, 0), CreateItem(2, 1) });
     var parser = new FormulaParser(provider);
     var result = parser.Parse(string.Format("sum({0})", expectedAddres));
     Assert.AreEqual(3d, result);
 }
 public void LoadTestFromJan()
 {
     var fileInfo = new FileInfo("c:\\temp\\xl\\Kedjor-prestanda test.xlsx");
     using(var package = new ExcelPackage(fileInfo))
     {
         var provider = new EPPlusExcelDataProvider(package);
         var parser = new FormulaParser(provider);
         var startTime = DateTime.Now;
         var result = parser.ParseAt("B1");
         var elapsed = DateTime.Now.Subtract(startTime);
     }
 }
 public void Initialize()
 {
     var ms = new MemoryStream();
     _package = new ExcelPackage(ms);
     _workSheet = _package.Workbook.Worksheets.Add("Test");
     for (var x = 1; x < 11; x++)
     {
         _workSheet.Cells["A" + x].Value = x;
     }
     var dataProvider = new EPPlusExcelDataProvider(_package);
     _parser = new FormulaParser(dataProvider);
 }
 public void DefinedNameTest()
 {
     //lopment\ExcelFormulaParser\src\ExcelFormulaParser.EPPlus.Tests\Files\lite
     var fileInfo = new FileInfo("..\\..\\..\\ExcelFormulaParser.EPPlus.Tests\\Files\\lite_olika_namn.xlsx");
     using (var package = new ExcelPackage(fileInfo))
     {
         var provider = new EPPlusExcelDataProvider(package);
         var parser = new FormulaParser(provider);
         var result = parser.ParseAt("C4");
         Assert.AreEqual(2d, result);
     }
 }
 public void ChainTest1()
 {
     var cbt = new ChainTestBuilder();
     using (var package = cbt.Build())
     {
         package.SaveAs(new System.IO.FileInfo("c:\\Temp\\chaintest.xlsx"));
         var provider = new EPPlusExcelDataProvider(package);
         var startTime = DateTime.Now;
         var parser = new FormulaParser(provider);
         var result = parser.ParseAt("C1");
         var elapsed = DateTime.Now.Subtract(startTime);
     }
 }
 public void Setup()
 {
     var excelDataProvider = MockRepository.GenerateStub<ExcelDataProvider>();
     _parser = new FormulaParser(excelDataProvider);
 }
Esempio n. 12
0
 public static void Calculate(this ExcelWorksheet worksheet, ExcelPackage package)
 {
     var provider = new EPPlusExcelDataProvider(package);
     var parser = new FormulaParser(provider);
     ParseFormulas(provider, parser, worksheet);
 }