public void TestCleanColumns()
        {
            CT_Worksheet worksheet = new CT_Worksheet();

            CT_Cols cols1 = worksheet.AddNewCols();
            CT_Col col1 = cols1.AddNewCol();
            col1.min = (1);
            col1.max = (1);
            col1.width = (88);
            col1.hidden = (true);
            CT_Col col2 = cols1.AddNewCol();
            col2.min = (2);
            col2.max = (3);
            CT_Cols cols2 = worksheet.AddNewCols();
            CT_Col col4 = cols2.AddNewCol();
            col4.min = (13);
            col4.max = (16384);

            // Test cleaning cols
            Assert.AreEqual(2, worksheet.sizeOfColsArray());
            int count = countColumns(worksheet);
            Assert.AreEqual(16375, count);
            // Clean columns and Test a clean worksheet
            ColumnHelper helper = new ColumnHelper(worksheet);
            Assert.AreEqual(1, worksheet.sizeOfColsArray());
            count = countColumns(worksheet);
            Assert.AreEqual(16375, count);
            // Remember - POI column 0 == OOXML column 1
            Assert.AreEqual(88.0, helper.GetColumn(0, false).width, 0.0);
            Assert.IsTrue(helper.GetColumn(0, false).hidden);
            Assert.AreEqual(0.0, helper.GetColumn(1, false).width, 0.0);
            Assert.IsFalse(helper.GetColumn(1, false).hidden);
        }
Beispiel #2
0
        public void TestAddCleanColIntoCols()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            ColumnHelper helper = new ColumnHelper(worksheet);

            CT_Cols cols1 = new CT_Cols();
            CT_Col col1 = cols1.AddNewCol();
            col1.min = (1);
            col1.max = (1);
            col1.width = (88);
            col1.hidden = (true);
            CT_Col col2 = cols1.AddNewCol();
            col2.min = (2);
            col2.max = (3);
            CT_Col col3 = cols1.AddNewCol();
            col3.min = (13);
            col3.max = (16750);
            Assert.AreEqual(3, cols1.sizeOfColArray());
            CT_Col col4 = cols1.AddNewCol();
            col4.min = (8);
            col4.max = (9);
            Assert.AreEqual(4, cols1.sizeOfColArray());

            CT_Col col5 = new CT_Col();
            col5.min = (4);
            col5.max = (5);
            helper.AddCleanColIntoCols(cols1, col5);
            Assert.AreEqual(5, cols1.sizeOfColArray());

            CT_Col col6 = new CT_Col();
            col6.min = (8);
            col6.max = (11);
            col6.hidden = (true);
            helper.AddCleanColIntoCols(cols1, col6);
            Assert.AreEqual(6, cols1.sizeOfColArray());

            CT_Col col7 = new CT_Col();
            col7.min = (6);
            col7.max = (8);
            col7.width = (17.0);
            helper.AddCleanColIntoCols(cols1, col7);
            Assert.AreEqual(8, cols1.sizeOfColArray());

            CT_Col col8 = new CT_Col();
            col8.min = (20);
            col8.max = (30);
            helper.AddCleanColIntoCols(cols1, col8);
            Assert.AreEqual(10, cols1.sizeOfColArray());

            CT_Col col9 = new CT_Col();
            col9.min = (25);
            col9.max = (27);
            helper.AddCleanColIntoCols(cols1, col9);

            // TODO - assert something interesting
            Assert.AreEqual(12, cols1.col.Count);
            Assert.AreEqual(1u, cols1.GetColArray(0).min);
            Assert.AreEqual(16750u, cols1.GetColArray(11).max);
        }
Beispiel #3
0
        public void TestSetGetCopies()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.copies = (9);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(9, printSetup.Copies);

            printSetup.Copies = (short)15;
            Assert.AreEqual((uint)15, pSetup.copies);
        }
Beispiel #4
0
        public void TestSetGetScale()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.scale = (uint)9;
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(9, printSetup.Scale);

            printSetup.Scale = ((short)100);
            Assert.AreEqual((uint)100, pSetup.scale);
        }
Beispiel #5
0
        public void TestSetGetPageStart()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.firstPageNumber = 9;
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(9, printSetup.PageStart);

            printSetup.PageStart = ((short)1);
            Assert.AreEqual((uint)1, pSetup.firstPageNumber);
        }
Beispiel #6
0
        public void TestSetGetDraft()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.draft = (false);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.Draft);

            printSetup.Draft = (true);
            Assert.AreEqual(true, pSetup.draft);
        }
Beispiel #7
0
        public void SerializeEmptyWorksheetDocumentTest()
        {
            CT_Worksheet worksheet = new CT_Worksheet();

            StringWriter stream = new StringWriter();
            WorksheetDocument_Accessor.serializer.Serialize(stream, worksheet, WorksheetDocument_Accessor.namespaces);
            string expected = @"<?xml version=""1.0"" encoding=""utf-16""?>
<worksheet xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships"" xmlns=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
  <sheetData />
</worksheet>";
            Assert.AreEqual(expected, stream.ToString());
        }
Beispiel #8
0
        public void TestSetGetPaperSize()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.paperSize = (9);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(PaperSize.A4, printSetup.GetPaperSizeEnum());
            Assert.AreEqual(9, printSetup.PaperSize);

            printSetup.SetPaperSize(PaperSize.A3);
            Assert.AreEqual((uint)8, pSetup.paperSize);
        }
Beispiel #9
0
        public void TestSetGetFitWidthHeight()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.fitToWidth = (50);
            pSetup.fitToHeight = (99);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(50, printSetup.FitWidth);
            Assert.AreEqual(99, printSetup.FitHeight);

            printSetup.FitWidth = ((short)66);
            printSetup.FitHeight = ((short)80);
            Assert.AreEqual((uint)66, pSetup.fitToWidth);
            Assert.AreEqual((uint)80, pSetup.fitToHeight);
        }
Beispiel #10
0
        public void TestSetGetHeaderFooterMargin()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageMargins pMargins = worksheet.AddNewPageMargins();
            pMargins.header = (1.5);
            pMargins.footer = (2);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(1.5, printSetup.HeaderMargin, 0.0);
            Assert.AreEqual(2.0, printSetup.FooterMargin, 0.0);

            printSetup.HeaderMargin = (5);
            printSetup.FooterMargin = (3.5);
            Assert.AreEqual(5.0, pMargins.header, 0.0);
            Assert.AreEqual(3.5, pMargins.footer, 0.0);
        }
Beispiel #11
0
        public XSSFPrintSetup(CT_Worksheet worksheet)
        {
            this.ctWorksheet = worksheet;

            if (ctWorksheet.IsSetPageSetup())
            {
                this.pageSetup = ctWorksheet.pageSetup;
            }
            else
            {
                this.pageSetup = ctWorksheet.AddNewPageSetup();
            }
            if (ctWorksheet.IsSetPageMargins())
            {
                this.pageMargins = ctWorksheet.pageMargins;
            }
            else
            {
                this.pageMargins = ctWorksheet.AddNewPageMargins();
            }
        }
Beispiel #12
0
        public void TestColumn()
        {
            CT_Worksheet worksheet = new CT_Worksheet();

            CT_Cols cols1 = worksheet.AddNewCols();
            CT_Col col1 = cols1.AddNewCol();
            col1.min = (1);
            col1.max = (1);
            col1.width = (88);
            col1.hidden = (true);
            CT_Col col2 = cols1.AddNewCol();
            col2.min = (2);
            col2.max = (3);
            CT_Cols cols2 = worksheet.AddNewCols();
            CT_Col col4 = cols2.AddNewCol();
            col4.min = (3);
            col4.max = (6);

            // Remember - POI column 0 == OOXML column 1
            ColumnHelper helper = new ColumnHelper(worksheet);
            Assert.IsNotNull(helper.GetColumn(0, false));
            Assert.IsNotNull(helper.GetColumn(1, false));
            Assert.AreEqual(88.0, helper.GetColumn(0, false).width, 0.0);
            Assert.AreEqual(0.0, helper.GetColumn(1, false).width, 0.0);
            Assert.IsTrue(helper.GetColumn(0, false).hidden);
            Assert.IsFalse(helper.GetColumn(1, false).hidden);
            Assert.IsNull(helper.GetColumn(99, false));
            Assert.IsNotNull(helper.GetColumn(5, false));
        }
Beispiel #13
0
        public void TestCloneCol()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            ColumnHelper helper = new ColumnHelper(worksheet);

            CT_Cols cols = new CT_Cols();
            CT_Col col = new CT_Col();
            col.min = (2);
            col.max = (8);
            col.hidden = (true);
            col.width = (13.4);
            CT_Col newCol = helper.CloneCol(cols, col);
            Assert.AreEqual(2u, newCol.min);
            Assert.AreEqual(8u, newCol.max);
            Assert.IsTrue(newCol.hidden);
            Assert.AreEqual(13.4, newCol.width, 0.0);
        }
Beispiel #14
0
        public void TestSetGetNoColor()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.blackAndWhite = (false);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.NoColor);

            printSetup.NoColor = true;
            Assert.AreEqual(true, pSetup.blackAndWhite);
        }
Beispiel #15
0
        public static WorksheetDocument Parse(XmlDocument xmldoc, XmlNamespaceManager namespaceMgr)
        {
            CT_Worksheet obj = CT_Worksheet.Parse(xmldoc.DocumentElement, namespaceMgr);

            return(new WorksheetDocument(obj));
        }
Beispiel #16
0
 public void SetChartsheet(CT_Worksheet sheet)
 {
     this.sheet = sheet;
 }
Beispiel #17
0
        public void TestSetGetNotes()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.cellComments = ST_CellComments.none;
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.Notes);

            printSetup.Notes = true;
            Assert.AreEqual(PrintCellComments.AS_DISPLAYED.Value, (int)pSetup.cellComments);
        }
Beispiel #18
0
        public void TestSetGetUsePage()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.useFirstPageNumber = (false);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.UsePage);

            printSetup.UsePage = (true);
            Assert.AreEqual(true, pSetup.useFirstPageNumber);
        }
Beispiel #19
0
        public ColumnHelper(CT_Worksheet worksheet)
        {

            this.worksheet = worksheet;
            CleanColumns();
        }
Beispiel #20
0
        public void TestSetGetValidSettings()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.usePrinterDefaults = (false);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.ValidSettings);

            printSetup.ValidSettings = (true);
            Assert.AreEqual(true, pSetup.usePrinterDefaults);
        }
Beispiel #21
0
        /**
         * Initialize worksheet data when creating a new sheet.
         */

        internal override void OnDocumentCreate()
        {
            worksheet = NewSheet();
            InitRows(worksheet);
            columnHelper = new ColumnHelper(worksheet);
            hyperlinks = new List<XSSFHyperlink>();
        }
Beispiel #22
0
        public void TestSetGetOrientation()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.orientation = (ST_Orientation.portrait);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(PrintOrientation.PORTRAIT, printSetup.Orientation);
            Assert.AreEqual(false, printSetup.Landscape);
            Assert.AreEqual(false, printSetup.NoOrientation);

            printSetup.Orientation = (PrintOrientation.LANDSCAPE);
            Assert.AreEqual((int)pSetup.orientation, printSetup.Orientation.Value);
            Assert.AreEqual(true, printSetup.Landscape);
            Assert.AreEqual(false, printSetup.NoOrientation);
        }
Beispiel #23
0
        public void TestSetGetLeftToRight()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.pageOrder = (ST_PageOrder.downThenOver);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(false, printSetup.LeftToRight);

            printSetup.LeftToRight = (true);
            Assert.AreEqual(PageOrder.OVER_THEN_DOWN.Value, (int)pSetup.pageOrder);
        }
Beispiel #24
0
 private static int countColumns(CT_Worksheet worksheet)
 {
     int count;
     count = 0;
     for (int i = 0; i < worksheet.sizeOfColsArray(); i++)
     {
         for (int y = 0; y < worksheet.GetColsArray(i).sizeOfColArray(); y++)
         {
             for (long k = worksheet.GetColsArray(i).GetColArray(y).min; k <= worksheet
                     .GetColsArray(i).GetColArray(y).max; k++)
             {
                 count++;
             }
         }
     }
     return count;
 }
Beispiel #25
0
 public WorksheetDocument(CT_Worksheet sheet)
 {
     this.sheet = sheet;
 }
Beispiel #26
0
        /**
         * Create a new CT_Worksheet instance with all values set to defaults
         *
         * @return a new instance
         */
        private static CT_Worksheet NewSheet()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_SheetFormatPr ctFormat = worksheet.AddNewSheetFormatPr();
            ctFormat.defaultRowHeight = (15.0);

            CT_SheetView ctView = worksheet.AddNewSheetViews().AddNewSheetView();
            ctView.workbookViewId = (0);

            worksheet.AddNewDimension().@ref = "A1";

            worksheet.AddNewSheetData();

            CT_PageMargins ctMargins = worksheet.AddNewPageMargins();
            ctMargins.bottom = (0.75);
            ctMargins.footer = (0.3);
            ctMargins.header = (0.3);
            ctMargins.left = (0.7);
            ctMargins.right = (0.7);
            ctMargins.top = (0.75);

            return worksheet;
        }
Beispiel #27
0
        public void TestSetGetHVResolution()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            CT_PageSetup pSetup = worksheet.AddNewPageSetup();
            pSetup.horizontalDpi = (120);
            pSetup.verticalDpi = (100);
            XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
            Assert.AreEqual(120, printSetup.HResolution);
            Assert.AreEqual(100, printSetup.VResolution);

            printSetup.HResolution = ((short)150);
            printSetup.VResolution = ((short)130);
            Assert.AreEqual((uint)150, pSetup.horizontalDpi);
            Assert.AreEqual((uint)130, pSetup.verticalDpi);
        }
Beispiel #28
0
        internal virtual void Read(Stream is1)
        {
            //try
            //{
            worksheet = WorksheetDocument.Parse(is1).GetWorksheet();
            //}
            //catch (XmlException e)
            //{
            //    throw new POIXMLException(e);
            //}

            InitRows(worksheet);
            columnHelper = new ColumnHelper(worksheet);

            // Look for bits we're interested in
            foreach (POIXMLDocumentPart p in GetRelations())
            {
                if (p is CommentsTable)
                {
                    sheetComments = (CommentsTable)p;
                    break;
                }
                if (p is XSSFTable)
                {
                    tables[p.GetPackageRelationship().Id] = (XSSFTable)p;
                }
            }

            // Process external hyperlinks for the sheet, if there are any
            InitHyperlinks();
        }
Beispiel #29
0
        public static CT_Worksheet Parse(XmlNode node, XmlNamespaceManager namespaceManager)
        {
            if (node == null)
            {
                return(null);
            }
            CT_Worksheet ctObj = new CT_Worksheet();

            ctObj.cols = new List <CT_Cols>();
            ctObj.conditionalFormatting = new List <CT_ConditionalFormatting>();
            foreach (XmlNode childNode in node.ChildNodes)
            {
                if (childNode.LocalName == "sheetPr")
                {
                    ctObj.sheetPr = CT_SheetPr.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "dimension")
                {
                    ctObj.dimension = CT_SheetDimension.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sheetViews")
                {
                    ctObj.sheetViews = CT_SheetViews.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sheetFormatPr")
                {
                    ctObj.sheetFormatPr = CT_SheetFormatPr.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sheetData")
                {
                    ctObj.sheetData = CT_SheetData.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sheetCalcPr")
                {
                    ctObj.sheetCalcPr = CT_SheetCalcPr.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sheetProtection")
                {
                    ctObj.sheetProtection = CT_SheetProtection.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "protectedRanges")
                {
                    ctObj.protectedRanges = CT_ProtectedRanges.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "scenarios")
                {
                    ctObj.scenarios = CT_Scenarios.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "autoFilter")
                {
                    ctObj.autoFilter = CT_AutoFilter.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "sortState")
                {
                    ctObj.sortState = CT_SortState.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "dataConsolidate")
                {
                    ctObj.dataConsolidate = CT_DataConsolidate.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "customSheetViews")
                {
                    ctObj.customSheetViews = CT_CustomSheetViews.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "mergeCells")
                {
                    ctObj.mergeCells = CT_MergeCells.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "phoneticPr")
                {
                    ctObj.phoneticPr = CT_PhoneticPr.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "dataValidations")
                {
                    ctObj.dataValidations = CT_DataValidations.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "hyperlinks")
                {
                    ctObj.hyperlinks = CT_Hyperlinks.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "printOptions")
                {
                    ctObj.printOptions = CT_PrintOptions.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "pageMargins")
                {
                    ctObj.pageMargins = CT_PageMargins.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "pageSetup")
                {
                    ctObj.pageSetup = CT_PageSetup.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "headerFooter")
                {
                    ctObj.headerFooter = CT_HeaderFooter.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "rowBreaks")
                {
                    ctObj.rowBreaks = CT_PageBreak.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "colBreaks")
                {
                    ctObj.colBreaks = CT_PageBreak.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "customProperties")
                {
                    ctObj.customProperties = CT_CustomProperties.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "cellWatches")
                {
                    ctObj.cellWatches = CT_CellWatches.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "ignoredErrors")
                {
                    ctObj.ignoredErrors = CT_IgnoredErrors.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "smartTags")
                {
                    ctObj.smartTags = CT_CellSmartTags.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "drawing")
                {
                    ctObj.drawing = CT_Drawing.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "legacyDrawing")
                {
                    ctObj.legacyDrawing = CT_LegacyDrawing.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "legacyDrawingHF")
                {
                    ctObj.legacyDrawingHF = CT_LegacyDrawing.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "picture")
                {
                    ctObj.picture = CT_SheetBackgroundPicture.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "oleObjects")
                {
                    ctObj.oleObjects = CT_OleObjects.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "controls")
                {
                    ctObj.controls = CT_Controls.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "webPublishItems")
                {
                    ctObj.webPublishItems = CT_WebPublishItems.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "tableParts")
                {
                    ctObj.tableParts = CT_TableParts.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "extLst")
                {
                    ctObj.extLst = CT_ExtensionList.Parse(childNode, namespaceManager);
                }
                else if (childNode.LocalName == "cols")
                {
                    ctObj.cols.Add(CT_Cols.Parse(childNode, namespaceManager));
                }
                else if (childNode.LocalName == "conditionalFormatting")
                {
                    ctObj.conditionalFormatting.Add(CT_ConditionalFormatting.Parse(childNode, namespaceManager));
                }
            }
            return(ctObj);
        }
Beispiel #30
0
 private void InitRows(CT_Worksheet worksheet)
 {
     _rows = new SortedDictionary<int, XSSFRow>();
     tables = new Dictionary<String, XSSFTable>();
     sharedFormulas = new Dictionary<int, CT_CellFormula>();
     arrayFormulas = new List<CellRangeAddress>();
     if (0 < worksheet.sheetData.SizeOfRowArray())
     {
         foreach (CT_Row row in worksheet.sheetData.row)
         {
             XSSFRow r = new XSSFRow(row, this);
             if (!_rows.ContainsKey(r.RowNum))
                 _rows.Add(r.RowNum, r);
         }
     }
 }
Beispiel #31
0
        public static WorksheetDocument Parse(Stream stream)
        {
            CT_Worksheet obj = (CT_Worksheet)serializer.Deserialize(stream);

            return(new WorksheetDocument(obj));
        }
Beispiel #32
0
 public static CT_Worksheet Parse(XmlNode node, XmlNamespaceManager namespaceManager)
 {
     if (node == null)
         return null;
     CT_Worksheet ctObj = new CT_Worksheet();
     ctObj.cols = new List<CT_Cols>();
     ctObj.conditionalFormatting = new List<CT_ConditionalFormatting>();
     foreach (XmlNode childNode in node.ChildNodes)
     {
         if (childNode.LocalName == "sheetPr")
             ctObj.sheetPr = CT_SheetPr.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "dimension")
             ctObj.dimension = CT_SheetDimension.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sheetViews")
             ctObj.sheetViews = CT_SheetViews.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sheetFormatPr")
             ctObj.sheetFormatPr = CT_SheetFormatPr.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sheetData")
             ctObj.sheetData = CT_SheetData.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sheetCalcPr")
             ctObj.sheetCalcPr = CT_SheetCalcPr.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sheetProtection")
             ctObj.sheetProtection = CT_SheetProtection.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "protectedRanges")
             ctObj.protectedRanges = CT_ProtectedRanges.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "scenarios")
             ctObj.scenarios = CT_Scenarios.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "autoFilter")
             ctObj.autoFilter = CT_AutoFilter.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "sortState")
             ctObj.sortState = CT_SortState.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "dataConsolidate")
             ctObj.dataConsolidate = CT_DataConsolidate.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "customSheetViews")
             ctObj.customSheetViews = CT_CustomSheetViews.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "mergeCells")
             ctObj.mergeCells = CT_MergeCells.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "phoneticPr")
             ctObj.phoneticPr = CT_PhoneticPr.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "dataValidations")
             ctObj.dataValidations = CT_DataValidations.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "hyperlinks")
             ctObj.hyperlinks = CT_Hyperlinks.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "printOptions")
             ctObj.printOptions = CT_PrintOptions.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "pageMargins")
             ctObj.pageMargins = CT_PageMargins.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "pageSetup")
             ctObj.pageSetup = CT_PageSetup.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "headerFooter")
             ctObj.headerFooter = CT_HeaderFooter.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "rowBreaks")
             ctObj.rowBreaks = CT_PageBreak.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "colBreaks")
             ctObj.colBreaks = CT_PageBreak.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "customProperties")
             ctObj.customProperties = CT_CustomProperties.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "cellWatches")
             ctObj.cellWatches = CT_CellWatches.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "ignoredErrors")
             ctObj.ignoredErrors = CT_IgnoredErrors.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "smartTags")
             ctObj.smartTags = CT_CellSmartTags.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "drawing")
             ctObj.drawing = CT_Drawing.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "legacyDrawing")
             ctObj.legacyDrawing = CT_LegacyDrawing.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "legacyDrawingHF")
             ctObj.legacyDrawingHF = CT_LegacyDrawing.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "picture")
             ctObj.picture = CT_SheetBackgroundPicture.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "oleObjects")
             ctObj.oleObjects = CT_OleObjects.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "controls")
             ctObj.controls = CT_Controls.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "webPublishItems")
             ctObj.webPublishItems = CT_WebPublishItems.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "tableParts")
             ctObj.tableParts = CT_TableParts.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "extLst")
             ctObj.extLst = CT_ExtensionList.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "cols")
             ctObj.cols.Add(CT_Cols.Parse(childNode, namespaceManager));
         else if (childNode.LocalName == "conditionalFormatting")
             ctObj.conditionalFormatting.Add(CT_ConditionalFormatting.Parse(childNode, namespaceManager));
     }
     return ctObj;
 }
Beispiel #33
0
 public WorksheetDocument(CT_Worksheet sheet)
 {
     this.sheet = sheet;
 }
Beispiel #34
0
        public void SerializeWorksheetDocumentTest()
        {
            CT_Worksheet worksheet = new CT_Worksheet();
            worksheet.dimension = new CT_SheetDimension();
            worksheet.dimension.@ref = "A1:C1";

            var sheetData = worksheet.AddNewSheetData();
            var row = sheetData.AddNewRow();
            row.r = 1u;
            row.spans = "1:3";
            {
                var c = row.AddNewC();
                c.r = "A1";
                c.t = ST_CellType.s;
                c.v = "0";
            }
            {
                var c = row.AddNewC();
                c.r = "B1";
                c.t = ST_CellType.s;
                c.v = "1";
            }
            {
                var c = row.AddNewC();
                c.r = "C1";
                c.t = ST_CellType.s;
                c.v = "8";
            }
            var hyper = worksheet.AddNewHyperlinks();
            var link = new CT_Hyperlink();
            link.@ref="B1";
            link.id="rId1";
            hyper.hyperlink.Add(link);
            StringWriter stream = new StringWriter();
            WorksheetDocument_Accessor.serializer.Serialize(stream, worksheet, WorksheetDocument_Accessor.namespaces);
            string expected = @"<?xml version=""1.0"" encoding=""utf-16""?>
            <worksheet xmlns:r=""http://schemas.openxmlformats.org/officeDocument/2006/relationships"" xmlns=""http://schemas.openxmlformats.org/spreadsheetml/2006/main"">
              <dimension ref=""A1:C1"" />
              <sheetData>
            <row r=""1"" spans=""1:3"">
              <c r=""A1"" t=""s"">
            <v>0</v>
              </c>
              <c r=""B1"" t=""s"">
            <v>1</v>
              </c>
              <c r=""C1"" t=""s"">
            <v>8</v>
              </c>
            </row>
              </sheetData>
              <hyperlinks>
            <hyperlink ref=""B1"" r:id=""rId1"" />
              </hyperlinks>
            </worksheet>";
            Assert.AreEqual(expected, stream.ToString());
        }
Beispiel #35
0
 public void SetChartsheet(CT_Worksheet sheet)
 {
     this.sheet = sheet;
 }