下午好。这样一个问题。想要导入excel文件与表,然后编辑或保存到数据库。在控制器中"import"为空。
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' => 'Документ',
);
}
}
控制器(index)
$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();
编辑表的视图(import)
if(isset($_POST['DocumentForm'])) {
$docModel->attributes = $_POST['DocumentForm'];
$docModel->document = CUploadedFile::getInstance($docModel,'document');
$objPHPExcel = PHPExcel_IOFactory::load($documentModel->document->tempName);
// ...
}
试着用这个:
$objPHPExcel = PHPExcel_IOFactory::load($_FILES['DocumentForm']['tmp_name']['document']);
$objWorksheet = $objPHPExcel->getActiveSheet();