簡體   English   中英

使用 mpxj 從 mpp 文件中讀取任務企業自定義字段值

[英]Reading task enterprise custom field values from mpp file using mpxj

我正在嘗試使用 net.sf.mpxj 庫從 mpp 文件中讀取任務詳細信息。 但是,當嘗試讀取自定義字段時,我得到了一個我不知道如何處理的字節數組。 這不是該特定任務的自定義字段的確切值嗎? 誰能告訴我該怎么做?

ProjectReader reader = new MPPReader();
ProjectFile project = reader.read(@"C:\EPM\test2.mpp");
foreach (net.sf.mpxj.Task task in project.Tasks)
{
       var Value = task.GetFieldByAlias("My Custom Field Name");
}

“值”將是一個字節數組,我不知道如何從中獲取實際值。

更新的答案:從 MPXJ 10.7.0 開始,您可以檢索正確鍵入的企業自定義字段值。 您還可以在CustomField class 中找到一個CustomFieldDataType屬性,該屬性指示您將檢索的類型。

(一個有趣的“陷阱”是,如果您的 MPP 文件包含基於查找表的企業自定義字段,即用戶只能從一組固定值中獲取 select,則用戶可見文本不會存儲在 MPP 文件中。您只會得到一個代表用戶選擇的值的 GUID。Microsoft Project 本身也有同樣的問題...如果您在未連接到 Project Server 時打開 MPP 文件,這些值將顯示為空白。 ..)

原始答案:不幸的是,主要問題是 MPXJ 目前沒有為企業自定義字段提供與其他字段相同級別的支持。 雖然它能夠識別企業自定義字段和給定的別名,但目前它只能讀取表示字段數據的原始字節。

企業自定義字段不像其他字段類型那樣常用,因此沒有花費太多時間在 MPP 文件中查找這些字段的定義。 字段定義將包含從原始字節轉換為預期數據類型所需的類型信息。

對企業自定義字段的改進支持位於 MPXJ 的“待辦事項”列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM