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)); }