開發環境THINKPHP,本方法導入可導入非2007的EXCEL文件
PHPExcel插件放在ThinkPHP/Extend/Vendor/目錄下
class ImportAction extends CommonAction{
public function load(){
import('@.ORG.Util.UploadFile');
$upload = new UploadFile();// 實例化上傳類
$upload->maxSize = 5000000 ;// 設置附件上傳大小
$upload->allowExts = array('xls', 'xlsx');// 設置附件上傳類型
$upload->savePath = './Uploads/';// 設置附件上傳目錄
if(!$upload->upload()) {// 上傳錯誤提示錯誤信息
$this->error($upload->getErrorMsg());
}else{// 上傳成功 獲取上傳文件信息
$info = $upload->getUploadFileInfo();
}
$type=$_POST['type'];
if($type==1){
$name="Account";
}else if($type==2){
$name="Deposit";
}else if($type==3){
$name="Transaction";
}
$model=M($name);
Vendor('PHPExcel.IOFactory'); //導入第三方類庫
$inputFileName =$upload->savePath.$info[0]['savename']; //獲得上傳文件
$objReader = new PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader->load($inputFileName);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
$tempArray = array();
for($j=2;$j<=$highestRow;$j++){
for($k='A';$k<=$highestColumn;$k++){
$tempArray[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
// print_r($objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue());exit;
}
//print_r($tempArray);exit;
if($type==1){
$tempArray['full_name']=$tempArray[0];
$tempArray['user_name']=$tempArray[1];
$tempArray['simulation_account']=$tempArray[2];
$tempArray['real_account']=$tempArray[3];
$tempArray['createtime']=time();
}else if($type==2){
$tempArray['real_account']=$tempArray[0];
$tempArray['deposit']=$tempArray[0];
$tempArray['createtime']=time();
}else if($type==3){
$tempArray['real_account']=$tempArray[0];
$tempArray['trading_lot']=$tempArray[0];
$tempArray['createtime']=time();
}
// print_r($tempArray);exit;
$model->create($tempArray);
$model->add();
unset($tempArray);
}
unlink($inputFileName); //刪除上傳的文件
$this->success('資源導入成功!');
}