我需要将excel文件的信息导入到我的数据库中,但是我无法使其工作,这是我正在使用的一些代码。
控制器:
Yii::import('application.extensions.phpexcel.*');
require_once 'excel_reader2.php';
if(!empty($_POST))
{
$uploadedFile=$_POST['file'];
$data = new Spreadsheet_Excel_Reader($uploadedFile);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)
{
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
$content = $data->sheets[0]['cells'][$i][$j];
}
}
}
视图中的表格:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'excel-form',
'enableAjaxValidation'=>false,
'action'=>array( '/ZfPersonal/Importar' ),
)); ?>
<?php echo CHtml::fileField('file','file'); ?>
<?php echo CHtml::submitButton('Importar'); ?>
错误是
The filename example.xls is not readable.
谢谢!
修改
$file=CUploadedFile::getInstanceByName($_POST['file']);
$path = $file->saveAs(Yii::app()->basePath.'\..\bolsa\\'.$file);
$data = new Spreadsheet_Excel_Reader($path);
错误:
Call to a member function saveAs() on a non-object
答案 0 :(得分:0)
我不确定你的$_POST['file']
是否包含上传的文件或文件的路径?
Spreadsheet_Excel_Reader
。示例:
$file=CUploadedFile::getInstanceByName('file');
if($file !== null) {
$file->saveAs('path/to/localFile');
$data = new Spreadsheet_Excel_Reader('path/to/localFile');
} else {
//The file hasn't been loaded
}
示例:
var_dump(fileperms($_POST['file']));
如果需要,请更改其权限
chmod($_POST['file'], 0644);