示例#1
0
        public int AddTree(TreeNodeForExcel rootTreeNode, int startingRow, int startingColumn = 1)
        {
            if (rootTreeNode.Color.HasValue)
            {
                _excelDocument.SetCellBackgroundColor(startingRow, startingColumn, rootTreeNode.Color.Value);
                _excelDocument.SetColumnWidth(startingColumn, 3);
                startingColumn++;
                _excelDocument.SetCellValue(startingRow, startingColumn, rootTreeNode.Name);
            }
            else
            {
                _excelDocument.SetCellValue(startingRow, startingColumn, rootTreeNode.Name);
            }

            if (!string.IsNullOrEmpty(rootTreeNode.ExtraInfo))
            {
                startingRow++;
                _excelDocument.SetCellValue(startingRow, startingColumn, rootTreeNode.ExtraInfo);
                _excelDocument.SetCellItalic(startingRow, startingColumn);
            }
            startingRow++;
            startingColumn++;

            foreach (var childNode in rootTreeNode.Children)
            {
                startingRow = AddTree(childNode, startingRow, startingColumn);
            }

            return(startingRow);
        }
        public void AddTree()
        {
            var excelManager = new JlgCommon.ExcelManager.ExcelManager();

            var rootNode = new TreeNodeForExcel()
            {
                Name = "Root"
            };

            rootNode.Children = new List <TreeNodeForExcel>()
            {
                new TreeNodeForExcel
                {
                    Name     = "Level 1 - Child 1",
                    Children = new List <TreeNodeForExcel>()
                    {
                        new TreeNodeForExcel()
                        {
                            Name = "Level 2 - Child 1"
                        },
                        new TreeNodeForExcel()
                        {
                            Name = "Level 2 - Child 2"
                        }
                    }
                },
                new TreeNodeForExcel
                {
                    Name = "Level 1 - Child 2",
                },
                new TreeNodeForExcel
                {
                    Name = "Level 1 - Child 3",
                }
            };

            excelManager.Writer.AddTree(rootNode, 1);

            Assert.AreEqual("Root", excelManager.Reader.GetCellValueAsString(1, 1));
            Assert.AreEqual("Level 1 - Child 1", excelManager.Reader.GetCellValueAsString(2, 2));
            Assert.AreEqual("Level 2 - Child 1", excelManager.Reader.GetCellValueAsString(3, 3));
            Assert.AreEqual("Level 2 - Child 2", excelManager.Reader.GetCellValueAsString(4, 3));
            Assert.AreEqual("Level 1 - Child 2", excelManager.Reader.GetCellValueAsString(5, 2));
            Assert.AreEqual("Level 1 - Child 3", excelManager.Reader.GetCellValueAsString(6, 2));
        }