0
我正在处理一个需要将数据从Excel(.xlsx)文件导入数据库表中的项目。致命错误CodeIgniter:找不到类'PHPExcel_IOFactory'
我已经写代码控制器,import.php:
if($this->input->post('send')=='add'):
$config['upload_path'] = 'media/result';
//Only allow this type of extensions
$config['allowed_types'] = 'xlsx|csv';
$this->load->library('upload', $config);
// if any error occurs
if (! $this->upload->do_upload('upload_file1'))
{
$error = array('error' => $this->upload->display_errors());
}
//if successfully uploaded the file
else
{
$upload_data = $this->upload->data();
$file_name = $upload_data['file_name'];
//load library phpExcel
$this->load->library("Excel");
//here i used microsoft excel 2007
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
//set to read only
$objReader->setReadDataOnly(true);
//load excel file
$objPHPExcel = $objReader->load('upload/'.$file_name);
$sheetnumber = 0;
foreach ($objPHPExcel->getWorksheetIterator() as $sheet)
{
$s = $sheet->getTitle(); // get the sheet name
$sheet= str_replace(' ', '', $s); // remove the spaces between sheet name
$sheet= strtolower($sheet);
$objWorksheet = $objPHPExcel->getSheetByName($s);
$lastRow = $objPHPExcel->setActiveSheetIndex($sheetnumber)->getHighestRow();
$sheetnumber++;
if($sheet=='student')// if sheet name is student
{
//loop from first data until last data
for($j=2; $j<=$lastRow; $j++)
{
$classement = $objWorksheet->getCellByColumnAndRow(1,$j)->getValue();
$dossard = $objWorksheet->getCellByColumnAndRow(2,$j)->getValue();
$nom = $objWorksheet->getCellByColumnAndRow(3,$j)->getValue();
$sexe = $objWorksheet->getCellByColumnAndRow(4,$j)->getValue();
$cat = $objWorksheet->getCellByColumnAndRow(5,$j)->getValue();
$pays = $objWorksheet->getCellByColumnAndRow(6,$j)->getValue();
$temps = $objWorksheet->getCellByColumnAndRow(7,$j)->getValue();
$tempsreel = $objWorksheet->getCellByColumnAndRow(8,$j)->getValue();
$ecart = $objWorksheet->getCellByColumnAndRow(9,$j)->getValue();
$moyenne = $objWorksheet->getCellByColumnAndRow(10,$j)->getValue();
if($classement != '' || $dossard != ''|| $nom != ''|| $sexe != '' || $cat != '' || $pays != '' || $temps != '' || $tempsreel != '' || $ecart != '' || $moyenne != '')
{
$excel = array(
'Classement'=>$classement,
'dossard'=>$dossard,
'nomprenom'=>$nom,
'sexe'=>$sexe,
'cat'=>$cat,
'pays'=>$pays,
'temps'=>$temps,
'temspreel'=>$tempsreel,
'ecart'=>$ecart,
'moyenne'=>$moyenne
);
$this->db->insert('mt_result',$excel);
$result=($this->db->affected_rows()!= 1)? false:true;
if($result == true)
{
$this->session->set_flashdata('msg', 'Member Details Uploaded Successfully');
redirect('Result/');
}
else
{
$this->session->set_flashdata('msg1', 'Member Details Uploading Failed');
redirect('Result/');
}
}
else
{
$this->session->set_flashdata('msg1', 'Failed To Upload!Contents are not Matched');
redirect('Result/');
} \t \t
}// loop ends
}
}
}
endif; \t
每当我把这个控制器我收到以下错误:
A PHP Error was encountered
Severity: Error
Message: Class 'PHPExcel_IOFactory' not found
Filename: controllers/Result.php
Line Number: 229
如何解决这个问题?
我尝试,但我得到这个错误:消息:未定义的属性:结果:: $ Excel中 – user3633379
这是我的图书馆Excel中:
user3633379
require_once('excel-library/Classes/PHPExcel.php'); $ excelFile =“xlsx/data.xlsx”; $ pathInfo = pathinfo($ excelFile); $ type = $ pathInfo ['extension'] =='xlsx'? 'Excel2007':'Excel5'; $ objReader = PHPExcel_IOFactory :: createReader($ type); $ objPHPExcel = $ objReader-> load($ excelFile); foreach($ objPHPExcel-> getWorksheetIterator()as $工作表) { $工作表[$工作表 - > getTitle()] = $工作表 - > toArray(); } 这就是我的代码阅读excel –