筆者由於工作需要,在OA系統中,需要將EXCEL檔案的內容匯入到資料庫中,同時還需要將資料庫中的內容匯出到EXCEL檔案中。筆者的OA是用PHP開發的,並且應用在WEB頁面上,所以直接用PHP處理難度比較大。經過研究,筆者用DELPHI開發了一個ACTIVEX控制項,來處理EXCEL檔案的資料,然後將資料提交到伺服器上,再儲存到資料庫中,輕鬆的實現了EXCEL檔案資料的匯入。匯出沒有用ACTIVEX控制項,直接用PHP處理。方法是將資料直接產生CSV檔案,因為CSV是逗號分隔的文字檔,並且可以直接用EXCEL開啟處理,所以可以滿足要求。 下面將實現的方法介紹一下。匯入的頁面代碼: "人員編號", "FIELDNAME"=>"STUFFID", "FIELDTYPE"=>"A"), array ("CAPTION"=>"開始日期", "FIELDNAME"=>"BEGINDATE", "FIELDTYPE"=>"A"), array ("CAPTION"=>"結束日期", "FIELDNAME"=>"ENDDATE", "FIELDTYPE"=>"A"), array ("CAPTION"=>"合約內容", "FIELDNAME"=>"CONTRACTTEXT", "FIELDTYPE"=>"A"), array ("CAPTION"=>"備忘", "FIELDNAME"=>"THISMEMO", "FIELDTYPE"=>"A"), array ("CAPTION"=>"伺服器檔案名稱", "FIELDNAME"=>"DOCFILE", "FIELDTYPE"=>"A"), array ("CAPTION"=>"檔案類型", "FIELDNAME"=>"FILETYPE", "FIELDTYPE"=>"A"), array ("CAPTION"=>"本地檔案名稱", "FIELDNAME"=>"FILENAME", "FIELDTYPE"=>"A"), array ("CAPTION"=>"副檔名", "FIELDNAME"=>"EXTNAME", "FIELDTYPE"=>"A")); //構造SQL語句,欄位名部分 $strSQL = "INSERT INTO HR_WORKCONTRACT ("; $strTemp = ""; for ($i = 0; $i ExecSQL ($strSQL.$strTmp)) $do->SetObject ("ERR", "資料匯入失敗!"); else $do->SetObject ("ERR", "資料匯入成功!"); //echo $strSQL.$strTmp; $strTmp = ""; } } } if (trim ($strTmp) != "") { $strTmp = substr ($strTmp, 0, strlen ($strTmp) - 2).";"; if (!$do->ExecSQL ($strSQL.$strTmp)) $do->SetObject ("ERR", "資料匯入失敗!"); else $do->SetObject ("ERR", "資料匯入成功!");//echo $strSQL.$strTmp; } }?>勞動合約資訊匯入 匯入資料的頁面如下: 可以顯示匯入EXCEL檔案的所有內容,並且可以手工選擇要匯入的資料,可以對資料進行臨時的修改處理(修改過後資料以紅顏色顯示,以示區別)。 選擇檔案介面。可以選擇本地硬碟上的EXCEL檔案,包括XLS檔案和CSV兩種格式。
http://www.bkjia.com/PHPjc/531993.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/531993.htmlTechArticle筆者由於工作需要,在OA系統中,需要將EXCEL檔案的內容匯入到資料庫中,同時還需要將資料庫中的內容匯出到EXCEL檔案中。筆者的OA是用P...