Exemple #1
0
        /// <summary>
        /// 转为csv
        /// </summary>
        /// <param name="sSavePath"></param>
        public void ToCsv(string sSavePath)
        {
            CsvPacket csv = new CsvPacket();

            csv.AddField("head");
            csv.AddField("level1");
            csv.AddField("level2");
            csv.AddField("level3");

            int row    = 1;
            int cloums = 1;

            foreach (var item in this.Tree)
            {
                csv.SetItemString(row, "head", item.Name);
                TranslateTreeChild(item, ref row, csv, cloums);
            }

            //Directory.GetCurrentDirectory() + "\\Menu.csv"
            csv.WriteToFile(sSavePath);
        }
Exemple #2
0
        /// <summary>
        /// 转换子树
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="row"></param>
        /// <param name="csv"></param>
        /// <param name="cloums"></param>
        private static void TranslateTreeChild(Tree menu, ref int row, CsvPacket csv, int cloums)
        {
            if (menu.Childs == null || menu.Childs.Count == 0)
            {
                return;
            }

            for (int i = 0; i < menu.Childs.Count; i++)
            {
                csv.SetItemString(row, "level" + cloums, menu.Childs[i].Name);
                int nextRow = row;
                TranslateTreeChild(menu.Childs[i], ref nextRow, csv, cloums + 1);
                if (nextRow > row)
                {
                    row = nextRow;
                }
                if (i != (menu.Childs.Count - 1))
                {
                    row++;
                }
            }
        }