我需要將excel文件的信息導入到我的數據庫中,但是我無法使其工作,下面是我正在使用的一些代碼。Yii 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
您是否檢查過在http請求中發送了什麼? – darkheir
if echo echo $ _POST ['file'];它打印example.xls,但我認爲問題出現在表單中或我如何獲取該文件。 –
你不應該得到'example.xls',因爲你正在upploading文件,你應該看到一些二進制數據在你的http請求中傳輸。 – darkheir