public void IfGivenTheNameOfAnExistingSheetShouldReturnTheSheet()
        {
            _objectToTest = new SXSSFWorkbook();
            _objectToTest.CreateSheet("1");
            _objectToTest.CreateSheet("2");

            var sheet1 = _objectToTest.GetSheet("1");
            var sheet2 = _objectToTest.GetSheet("2");

            Assert.AreEqual("1", sheet1.SheetName);
            Assert.AreEqual("2", sheet2.SheetName);
        }
Esempio n. 2
0
        public void TestEvaluateAllFails()
        {
            SXSSFWorkbook wb = new SXSSFWorkbook(5);
            SXSSFSheet    s  = wb.CreateSheet() as SXSSFSheet;

            IFormulaEvaluator eval = wb.GetCreationHelper().CreateFormulaEvaluator();

            s.CreateRow(0).CreateCell(0).CellFormula = (/*setter*/ "1+2");
            s.CreateRow(1).CreateCell(0).CellFormula = (/*setter*/ "A21");
            for (int i = 2; i < 19; i++)
            {
                s.CreateRow(i);
            }

            // Cells outside window will fail, whether referenced or not
            s.CreateRow(19).CreateCell(0).CellFormula = (/*setter*/ "A1+A2");
            s.CreateRow(20).CreateCell(0).CellFormula = (/*setter*/ "A1+A11+100");
            try
            {
                eval.EvaluateAll();
                Assert.Fail("Evaluate All shouldn't work, as some cells outside the window");
            }
            catch (RowFlushedException)
            {
                // Expected
            }


            // Inactive sheets will fail
            XSSFWorkbook xwb = new XSSFWorkbook();

            xwb.CreateSheet("Open");
            xwb.CreateSheet("Closed");

            wb.Close();
            wb = new SXSSFWorkbook(xwb, 5);
            s  = wb.GetSheet("Closed") as SXSSFSheet;
            s.FlushRows();
            s = wb.GetSheet("Open") as SXSSFSheet;
            s.CreateRow(0).CreateCell(0).CellFormula = (/*setter*/ "1+2");

            eval = wb.GetCreationHelper().CreateFormulaEvaluator();
            try
            {
                eval.EvaluateAll();
                Assert.Fail("Evaluate All shouldn't work, as sheets flushed");
            }
            catch (SheetsFlushedException) { }

            wb.Close();
        }
Esempio n. 3
0
        public void TestTemplateFile()
        {
            XSSFWorkbook  workBook          = XSSFTestDataSamples.OpenSampleWorkbook("sample.xlsx");
            SXSSFWorkbook streamingWorkBook = new SXSSFWorkbook(workBook, 10);
            ISheet        sheet             = streamingWorkBook.GetSheet("Sheet1");

            for (int rowNum = 10; rowNum < 1000000; rowNum++)
            {
                IRow row = sheet.CreateRow(rowNum);
                for (int cellNum = 0; cellNum < 700; cellNum++)
                {
                    ICell cell = row.CreateCell(cellNum);
                    cell.SetCellValue("somEvalue");
                }

                if (rowNum % 100 == 0)
                {
                    Console.Write(".");
                    if (rowNum % 10000 == 0)
                    {
                        Console.WriteLine(rowNum);
                    }
                }
            }

            FileStream fos = new FileStream("C:\\temp\\streaming.xlsx", FileMode.Create, FileAccess.ReadWrite);

            streamingWorkBook.Write(fos);
            fos.Close();

            streamingWorkBook.Close();
            workBook.Close();
        }