2008-09-02 130 views
4

我需要從網絡上的.mpp文件中提取數據,並將它與來自多個不同數據庫的其他數據組合。該應用程序可以用Perl,VB6,VB.net或C#編寫,但必須從基於Windows的服務器輕鬆調度。如何從MS Project .mpp文件中提取數據?

對於沒有用戶干預的情況下,您會推薦如何提取MS Project數據?

是否有可用於MS Project的ODBC驅動程序?

是否有用於打開.mpp和讀取活動數據的任何模塊(用於Perl,VB,VB.net或C#)?

回答

3

我會推薦使用MPXJ(mpxj.sf.net)從Microsoft Project文件中提取數據。不要被它最初是Java庫的事實所拖延 - 當前版本的MPXJ包含原生.net dll以及原始Java JAR文件,這要歸功於IKVM的魔力。

聲明:我維護MPXJ。

+0

感謝Jon,我已經有了一個遊戲並計劃嘗試將.NET版本一旦發佈。 – 2008-11-10 07:37:54

+0

Jon,我已經看到了一些關於從Objective C代碼(Mac和iOS應用程序)解析mpp文件的選項的評論。我需要這個,但是我不能調用服務器 - 我想在本地執行。您是否認爲有足夠的文檔可用於某人在Objective C中編寫解析代碼而不使用任何Microsoft DLL或其他SDK工具?也就是說,直接用原始代碼解析mpp文件。 – 2014-02-09 20:27:30

1

我有同樣的需要。這是我到目前爲止發現的。 微軟項目有一個OLEDB提供者,最高版本爲MP 2007. 如果是谷歌它,有足夠的網站引用連接字符串,但是這裏是一個引用: oConn.Open「Provider = Microsoft.Project.OLEDB。 9.0;」 & _ 「Project Name = c:\ somepath \ myProject.mpp」

此方法的問題似乎是您必須在服務器上安裝MS Project。無論如何,這是令人討厭的,而且我無法使用託管環境。

所以,你要解析.mpp。正如上面的一位評論者所建議的,MPXJ是一個優秀的庫,我可以等待,因此我正在等待他們發​​布.NET版本。 如果您決心完成它,請獲取代碼並查看他們在做什麼。除此之外,在他們的源代碼/註釋中沒有(據我所知)格式的文檔。