php解析mpp檔案

2022-09-17 11:15:09 字數 2297 閱讀 3877

php沒有找到相應的包

j**a的mpxj可以實現

所以借助j**abridge.jar   j**abridge介紹

1.安裝jdk,設定環境變數(我的版本jdk1.8.0_131)

(我的版本mpxj-7.0.2)

解壓,將mpxj.jar和lib下面的commons-collections4-4.1.jar、poi-3.17.jar、rtfparserkit-1.10.0.jar放到j**a安裝目錄下的jre/lib/ext下面

測試aa.mpp

在www/mpp新建mpxjtest.j**a

3.php呼叫j**a

j**abridge.jar--用於搭建web伺服器介面的核心j**a應用程式包

j**a.inc--供php語言呼叫的方法包,主要是j**a類

首先執行j**abridge.jar啟動web伺服器介面,在j**abridge.jar所在目錄執行命令

j**a -jar j**abridge.jar servlet_local:8089
注:不加servlet_local:8089,預設的就是8080

修改php.ini裡的allow_url_include為on

測試新建aa.php

成功注:

要呼叫自己開發的類,類必須是public型別的。要呼叫的方法也必須是public型別的

4.php解析mpp

<?php 

$filename = "aa.mpp";

$data =parsemspj($filename);

echo "success";

$fp = fopen('./a.txt', 'a+b');

fwrite($fp, var_export($data,

true

));fclose($fp);

function parsemspj($filename)

$mppread = new j**a('net.sf.mpxj.mpp.mppreader');

$filecontent = $mppread->read($file_path);

$alltasks = $filecontent->getalltasks();

$tasks_size = j**a_values($alltasks->size());

//id|任務名|開始時間|結束時間|完成百分比|資源|工期

for ($i = 1; $i < $tasks_size; $i++)

return

$data;

}function getresource($task)}}

return

$buf;

}

將解析出的檔案內容,寫入a.txt

只是簡單的解析,還有待完善

VC操作MPP檔案

1.背景簡介 因需要對office系列進行程式操作,特需要使用com程式設計。microsoft project生成進度計畫,office家族軟體,檔案字尾為.mpp。具體資訊見維基百科 讀取mpp檔案,網路上示例基本為c 因為我所使用的是vc,c 只能做參考了。因為com元件是通用的,跨語言的 微...

PHP 全面解析如何上傳檔案

var dump files 執行結果 判斷檔案是否上傳 if files pic error 0 獲取檔案的名字和字尾名 name files pic name a pathinfo name dirname 目錄名 basename 基本名 extension 擴充套件字尾名 filename ...

PHP檔案鎖定寫入例項解析

function file write file name,text,mode a timeout 30 if timeout 0 retur程式設計客棧n false 其中flojibsieck int handle,int operation 函式操作的 www.cppcns.comhandle...