[英]Example of MPXJ library in C#
在連接到Microsoft Project文件時,我正在尋找使用MPXJ庫的任何C#代碼示例。 有人可以發一個片段演示如何將.mpp文件中的表格內容寫入屏幕嗎?
任何鏈接/參考的獎勵積分!
謝謝!
〜丹
希望這會有所幫助。
首先,您需要打開您的項目文件:
ProjectReader reader = ProjectReaderUtility.getProjectReader(inputFile);
ProjectFile projectFile = reader.read(inputFile);
這假設您在inputFile字符串中有一個文件名。
下面的方法應該被視為偽代碼(即我沒有編譯它,動搖它的bug等等,這不是我寫過的最優雅的東西),但它說明了這種方法:
public void dumpTables(ProjectFile file)
{
List tables = file.getTables();
Iterator iter = tables.iterator();
while (iter.hasNext())
{
Table table = (Table)iter.next();
if (table.getResourceFlag())
{
List resources = file.getAllResources();
Iterator resourceIter = resources.iterator();
while (resourceIter.hasNext())
{
Resource resource = (Resource)iter.next();
List columns = table.getColumns();
Iterator columnIter = columns.iterator();
while (columnIter.hasNext())
{
Column column = (Column)columnIter.next();
Object columnValue = resource.getCachedValue(column.getFieldType());
Console.Write(columnValue);
Console.Write(",");
}
Console.WriteLine();
}
}
else
{
List tasks = file.getAllTasks();
// etc. as above
}
}
}
我們的想法是,您正在檢索文件中存在的表的列表,以及每個表中的表,如果它是任務或資源表。 基於此,您將獲取任務或資源列表,遍歷該列表,並為每個實例提取列值並顯示它。 請注意,我沒有嘗試以任何特定方式訂購任務或資源。 我會把它留給讀者練習!
希望有所幫助!
喬恩
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.