MPXJ
MSPのファイルをJavaから利用できるライブラリ
http://mpxj.sourceforge.net/index.html
ファイルを開く
MPPFile file = new MPPFile(ファイル名);
タスクの取り出し
com.tapsterrock.mpx.Taskを利用します。
List tasks = file.getAllTasks();
リソースの取り出し
com.tapsterrock.mpx.Resourceを利用します。
List res = file.getAllResources();
タスクにリソースをアサイン
task.addResourceAssignment(resource);
ファイルの書き出し
MPPファイルに書き出すことはできませんが、MPXおよびMSPDI(XML)ファイルに書き出すことができます。
MPXファイルへの書き出し
com.tapsterrock.mpp.MPPFileを利用することができます。
このスーパークラスがMPXFileなのでそのwrite()メソッドを利用します。
MSPDIファイルへの書き出し
com.tapsterrock.mspdi.MSPDIFile#write(OutputStream);
を利用する。
注
ファイルの書き出しはダウンロードしたファイルでは日本語対応しません。
そのため、以下の修正をする必要があります。
LocaleData_jaクラスの追加
LocalData.javaをコピーし、LocaleData_ja.javaを作成し、
- LocalDataとなっている場所を置き換える。
- 以下の修正をおこなう。
{CODE_PAGE, CodePage.ANSI}を
{CODE_PAGE, CodePage.JAPAN}にする。
CodePageクラスへの追加
com.tapsterrock.mpx.CodePageクラスに以下の内容を追加します。
public static final CodePage JAPAN = new CodePage("Japan", "Windows-31J");