2014-07-14 37 views
1

下午好。这样的问题。想要用表格导入Excel文件,然后编辑或保存到数据库。获取控制器“导入”空。导入Excel文件,然后编辑

array(1) { ["document"]=> string(0) "" } 

只是没有工作验证。

型号文件

class DocumentForm extends CFormModel { 
public $document; 
public function rules() { 
return array(
    array('document', 'required'), 
    array('document','file','types'=>'xls,xlsx'), 
); 
} 

public function attributeLabels() { 
return array(
    'document' => 'Документ', 
); 
} 
} 

控制器(指数)

$docModel=new DocumentForm;$this->render('index',array('docModel'=>$docModel)); 

表示(指数)

echo CHtml::form('','POST',array('enctype'=>'multipart/form-data')); 
echo CHtml::activeFileField($docModel, 'document'); 
echo CHtml::button('Импорт', array('submit' => array('import'))); 
echo CHtml::endForm(); 

查看编辑表(进口)

if(isset($_POST['DocumentForm'])) { 
$docModel->attributes = $_POST['DocumentForm']; 
$docModel->document = CUploadedFile::getInstance($docModel,'document'); 
$objPHPExcel = PHPExcel_IOFactory::load($documentModel->document->tempName); 
// ... 
} 

回答

2

尝试使用此:

$objPHPExcel = PHPExcel_IOFactory::load($_FILES['DocumentForm']['tmp_name']['document']); 
$objWorksheet = $objPHPExcel->getActiveSheet(); 
+0

感谢您的帮助,但验证不起作用。 – badjo