Exemplo n.º 1
0
        public void TestBug56957CloseWorkbook()
        {
            FileInfo file = TempFile.CreateTempFile("TestBug56957_", ".xlsx");
            //String dateExp = "Sun Nov 09 00:00:00 CET 2014";
            DateTime  dateExp  = LocaleUtil.GetLocaleCalendar(2014, 11, 9);
            IWorkbook workbook = null;

            try
            {
                // as the file is written to, we make a copy before actually working on it
                FileHelper.CopyFile(HSSFTestDataSamples.GetSampleFile("56957.xlsx"), file);

                Assert.IsTrue(file.Exists);

                // read-only mode works!
                workbook = WorkbookFactory.Create(OPCPackage.Open(file, PackageAccess.READ));
                DateTime dateAct = workbook.GetSheetAt(0).GetRow(0).GetCell(0, MissingCellPolicy.CREATE_NULL_AS_BLANK).DateCellValue;
                Assert.AreEqual(dateExp, dateAct);
                workbook.Close();
                workbook = null;

                workbook = WorkbookFactory.Create(OPCPackage.Open(file, PackageAccess.READ));
                dateAct  = workbook.GetSheetAt(0).GetRow(0).GetCell(0, MissingCellPolicy.CREATE_NULL_AS_BLANK).DateCellValue;
                Assert.AreEqual(dateExp, dateAct);
                workbook.Close();
                workbook = null;

                // now check read/write mode
                workbook = WorkbookFactory.Create(OPCPackage.Open(file, PackageAccess.READ_WRITE));
                dateAct  = workbook.GetSheetAt(0).GetRow(0).GetCell(0, MissingCellPolicy.CREATE_NULL_AS_BLANK).DateCellValue;
                Assert.AreEqual(dateExp, dateAct);
                workbook.Close();
                workbook = null;

                workbook = WorkbookFactory.Create(OPCPackage.Open(file, PackageAccess.READ_WRITE));
                dateAct  = workbook.GetSheetAt(0).GetRow(0).GetCell(0, MissingCellPolicy.CREATE_NULL_AS_BLANK).DateCellValue;
                Assert.AreEqual(dateExp, dateAct);
                workbook.Close();
                workbook = null;
            }
            finally
            {
                if (workbook != null)
                {
                    workbook.Close();
                }
                Assert.IsTrue(file.Exists);
                file.Delete();
                file.Refresh();
                Assert.IsTrue(!file.Exists);
            }
        }
Exemplo n.º 2
0
        public void TestFromFile()
        {
            foreach (String ver in new String[] { "4", "5", "95" })
            {
                String   filename = "testEXCEL_" + ver + ".xls";
                FileInfo f        = HSSFTestDataSamples.GetSampleFile(filename);

                OldExcelExtractor extractor = new OldExcelExtractor(f);
                String            text      = extractor.Text;
                Assert.IsNotNull(text);
                Assert.IsTrue(text.Length > 100);
            }
        }
Exemplo n.º 3
0
        public void TestUserFile()
        {
            Biff8EncryptionKey.CurrentUserPassword = (/*setter*/ "abc");
            NPOIFSFileSystem fs  = new NPOIFSFileSystem(HSSFTestDataSamples.GetSampleFile("xor-encryption-abc.xls"), true);
            IWorkbook        hwb = new HSSFWorkbook(fs.Root, true);

            ISheet sh = hwb.GetSheetAt(0);

            Assert.AreEqual(1.0, sh.GetRow(0).GetCell(0).NumericCellValue, 0.0);
            Assert.AreEqual(2.0, sh.GetRow(1).GetCell(0).NumericCellValue, 0.0);
            Assert.AreEqual(3.0, sh.GetRow(2).GetCell(0).NumericCellValue, 0.0);

            fs.Close();
        }
Exemplo n.º 4
0
        public void TestDirectoryNode()
        {
            FileInfo         file = HSSFTestDataSamples.GetSampleFile("FormulaRefs.xls");
            NPOIFSFileSystem fs   = new NPOIFSFileSystem(file);

            try
            {
                OldExcelExtractor extractor = new OldExcelExtractor(fs.Root);
                extractor.Close();
            }
            finally
            {
                fs.Close();
            }
        }
Exemplo n.º 5
0
        public void TestInputStreamNPOIHeader()
        {
            FileInfo file   = HSSFTestDataSamples.GetSampleFile("FormulaRefs.xls");
            Stream   stream = file.OpenRead();

            try
            {
                OldExcelExtractor extractor = new OldExcelExtractor(stream);
                extractor.Close();
            }
            finally
            {
                stream.Close();
            }
        }
Exemplo n.º 6
0
        public void TestCreateReadOnly()
        {
            IWorkbook wb;

            // POIFS -> hssf
            wb = WorkbookFactory.Create(HSSFTestDataSamples.GetSampleFile(xls).FullName, null, true);
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is HSSFWorkbook);
            AssertCloseDoesNotModifyFile(xls, wb);

            // Package -> xssf
            wb = WorkbookFactory.Create(HSSFTestDataSamples.GetSampleFile(xlsx).FullName, null, true);
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is XSSFWorkbook);
            AssertCloseDoesNotModifyFile(xlsx, wb);
        }
Exemplo n.º 7
0
        public void TestInputStream()
        {
            FileInfo file   = HSSFTestDataSamples.GetSampleFile("testEXCEL_3.xls");
            Stream   stream = file.OpenRead();

            try
            {
                OldExcelExtractor extractor = new OldExcelExtractor(stream);
                String            text      = extractor.Text;
                Assert.IsNotNull(text);
                extractor.Close();
            }
            finally
            {
                stream.Close();
            }
        }
Exemplo n.º 8
0
        private static OldExcelExtractor CreateExtractor(String sampleFileName)
        {
            FileInfo file = HSSFTestDataSamples.GetSampleFile(sampleFileName);

            return(new OldExcelExtractor(file));
        }
Exemplo n.º 9
0
 public static FileInfo GetSampleFile(String sampleFileName)
 {
     return(HSSFTestDataSamples.GetSampleFile(sampleFileName));
 }
Exemplo n.º 10
0
        public void TestCreateWithPasswordFromFile()
        {
            IWorkbook wb;

            // Unprotected, no password given, opens normally
            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xls).FullName, null
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is HSSFWorkbook);
            AssertCloseDoesNotModifyFile(xls, wb);

            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xlsx).FullName, null
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is XSSFWorkbook);
            AssertCloseDoesNotModifyFile(xlsx, wb);

            // Unprotected, wrong password, opens normally
            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xls).FullName, "wrong"
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is HSSFWorkbook);
            AssertCloseDoesNotModifyFile(xls, wb);

            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xlsx).FullName, "wrong"
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is XSSFWorkbook);
            AssertCloseDoesNotModifyFile(xlsx, wb);

            // Protected, correct password, opens fine
            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xls_prot[0]).FullName, xls_prot[1]
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is HSSFWorkbook);
            AssertCloseDoesNotModifyFile(xls, wb);

            wb = WorkbookFactory.Create(
                HSSFTestDataSamples.GetSampleFile(xlsx_prot[0]).FullName, xlsx_prot[1]
                );
            Assert.IsNotNull(wb);
            Assert.IsTrue(wb is XSSFWorkbook);
            Assert.IsTrue(wb.NumberOfSheets > 0);
            Assert.IsNotNull(wb.GetSheetAt(0));
            Assert.IsNotNull(wb.GetSheetAt(0).GetRow(0));
            AssertCloseDoesNotModifyFile(xlsx, wb);

            // Protected, wrong password, throws Exception
            try
            {
                wb = WorkbookFactory.Create(
                    HSSFTestDataSamples.GetSampleFile(xls_prot[0]).FullName, "wrong"
                    );
                AssertCloseDoesNotModifyFile(xls_prot[0], wb);
                Assert.Fail("Shouldn't be able to open with the wrong password");
            }
            catch (EncryptedDocumentException)
            {
                // expected here
            }
            try
            {
                wb = WorkbookFactory.Create(
                    HSSFTestDataSamples.GetSampleFile(xlsx_prot[0]).FullName, "wrong"
                    );
                AssertCloseDoesNotModifyFile(xlsx_prot[0], wb);
                Assert.Fail("Shouldn't be able to open with the wrong password");
            }
            catch (EncryptedDocumentException)
            {
                // expected here
            }
        }