コード例 #1
0
        public void UseSharedStringsTable()
        {
            SXSSFWorkbook wb = new SXSSFWorkbook(null, 10, false, true);

            SharedStringsTable sss = POITestCase.GetFieldValue <SharedStringsTable, SXSSFWorkbook>(typeof(SXSSFWorkbook), wb, typeof(SharedStringsTable), "_sharedStringSource");

            Assert.IsNotNull(sss);

            IRow row = wb.CreateSheet("S1").CreateRow(0);

            row.CreateCell(0).SetCellValue("A");
            row.CreateCell(1).SetCellValue("B");
            row.CreateCell(2).SetCellValue("A");

            XSSFWorkbook xssfWorkbook = SXSSFITestDataProvider.instance.WriteOutAndReadBack(wb) as XSSFWorkbook;

            sss = POITestCase.GetFieldValue <SharedStringsTable, SXSSFWorkbook>(typeof(SXSSFWorkbook), wb, typeof(SharedStringsTable), "_sharedStringSource");
            Assert.AreEqual(2, sss.UniqueCount);
            Assert.IsTrue(wb.Dispose());

            ISheet sheet1 = xssfWorkbook.GetSheetAt(0);

            Assert.AreEqual("S1", sheet1.SheetName);
            Assert.AreEqual(1, sheet1.PhysicalNumberOfRows);
            row = sheet1.GetRow(0);
            Assert.IsNotNull(row);
            ICell cell = row.GetCell(0);

            Assert.IsNotNull(cell);
            Assert.AreEqual("A", cell.StringCellValue);
            cell = row.GetCell(1);
            Assert.IsNotNull(cell);
            Assert.AreEqual("B", cell.StringCellValue);
            cell = row.GetCell(2);
            Assert.IsNotNull(cell);
            Assert.AreEqual("A", cell.StringCellValue);

            xssfWorkbook.Close();
            wb.Close();
        }