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將解析出的檔案內容,寫入a.txt$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;
}
只是簡單的解析,還有待完善
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...