簡體   English   中英

C#中MPXJ庫的示例

[英]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.

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