添加项目文件。
This commit is contained in:
80
ExportExcelTest/Models/PrimaryItem.cs
Normal file
80
ExportExcelTest/Models/PrimaryItem.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace CustomOpenAddins.Models
|
||||
{
|
||||
public class BaseItem
|
||||
{
|
||||
public BaseItem(string name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public string Name { get; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 一级开项
|
||||
/// </summary>
|
||||
public class PrimaryItem : BaseItem
|
||||
{
|
||||
public PrimaryItem(string name, SheetTable table) : base(name)
|
||||
{
|
||||
Table = table;
|
||||
SubCategories = new HashSet<SubItem>();
|
||||
}
|
||||
/// <summary>
|
||||
/// 表名
|
||||
/// </summary>
|
||||
public SheetTable Table { get; set; }
|
||||
public SubItem this[int index]
|
||||
{
|
||||
get => SubCategories.ElementAt(index);
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder($"<主项>{Name};");
|
||||
if (SubCategories.Count == 0)
|
||||
{
|
||||
return sb.Append("无;").ToString();
|
||||
}
|
||||
foreach (var item in SubCategories)
|
||||
{
|
||||
sb.AppendLine($"{item}");
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 子类项目
|
||||
/// </summary>
|
||||
public HashSet<SubItem> SubCategories { get; private set; }
|
||||
|
||||
public SubItem AddSub(string subName)
|
||||
{
|
||||
var sub = new SubItem(subName, this);
|
||||
|
||||
if (SubCategories == null)
|
||||
{
|
||||
SubCategories = new HashSet<SubItem>();
|
||||
}
|
||||
SubCategories.Add(sub);
|
||||
return sub;
|
||||
}
|
||||
public void AddSubCategories(List<SubItem> subs)
|
||||
{
|
||||
if (SubCategories == null)
|
||||
{
|
||||
SubCategories = new HashSet<SubItem>();
|
||||
}
|
||||
|
||||
subs.ForEach(x =>
|
||||
{
|
||||
x.Primary = this;
|
||||
SubCategories.Add(x);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user