C 根據Excel生成樹

2022-02-25 13:34:43 字數 2197 閱讀 6819

需求:

根據excel生成樹,excel的某些節點為屬性節點,

如: 列(樁號、構件編碼、測試屬性1) 是列(分項工程名稱) 的屬性,非節點。

列(樁號、構件編碼、測試屬性1) 以屬性的方式存在

匯入的思路:

排除屬性列外,所有的列從左到右,樹的層級依次遞增,左邊列是右邊列的父節點

判斷乙個單元格是否已新增,獲取該單元格的所有父節點的名稱,拼接成字串。

如:雞鳴隧道  的全名就是  城開高速公路,b2合同段,雞鳴隧道

效率的優化:

1、匯入第二行(或後面行)的時候,判斷和第一行是否有相同的節點,有就跳過相同節點,從不同的節點處開始匯入。

2、在效率低下的方法處 加上快取

3、匯入a1合同段,就只載入a1合同段,這顆樹的全部節點

樹的一二級節點固定的

樹的類:

public

class

tb_projects

public

string projectname

//////

編碼

/// public

string projectcode

public

int parentid

public

int? nextid

public

int? projectorder

public

int isenabled

//////

業主單位id

/// public

int? ownerid

//////

施工單位id

/// public

int? constructionid

//////

監理單位id

/// public

int? supervisionid

//////

承包單位id

/// public

int? contractid

//////

第幾級(即在樹層次中第幾級,根元素級次為1,以此類推)

/// public

int? level

//////

數量

/// public

int? quantity

public

int versioning

//////

里程樁號

/// public

string mileageno

//////

標準編碼

/// public

string componentcode

//////

內部編碼

/// public

string ncomponentcode

//////

流程狀態

/// public

int taskstatus

public

string fbxid

//////

判斷是否為單位工程

/// public

int issubunit

//////

所屬標段

/// public

string bidsion

}

view code

excel格式:

生成的樹:

資料庫:

C 根據Id和ParentId生成樹

資料如下 list nodes newlist node nodes.add newnode nodes.add newnode nodes.add newnode nodes.add newnode nodes.add newnode nodes.add newnode nodes.add new...

根據模板生成帶公式的excel

將模板 帶公式計算 放在專案路徑下某個資料夾 1.生成工資表excel檔案 fileinputstream fileinputstream null try catch filenotfoundexception e xssfworkbook excel null try catch excepti...

Excel 自動根據Sheet名生成目錄

查閱了相關資料現將方法分享給大家 開啟你要建立,目錄的 按alt f11在談出的對話方塊中點插入選擇模組然後把下面的 複製到模組中 sub mulu on error goto tuichu dim i as integer dim shtcount as integer dim selection...