2014-03-06 126 views
3

我正在使用PHPExcel將XLSX文件導入到我的相關數據庫。但是,當運行該功能時,我收到錯誤。我的代碼如下所示。如何使用php將數據從excel導入到mysql數據庫

控制器:

<?php if (!defined ('BASEPATH')) exit ('No direct access allowed'); 
     class ExcelController extends CI_Controller 
     { 


     public function index() 
     { 
      //load library excel 
      $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('data.xls'); // error in this line 
      $objWorksheet=$objPHPExcel->setActiveSheetIndex(0); 

      //load model 

      $this->load->model('user_model'); 

      //loop from first data untill last data 
      for($i=2;$i<=77;$i++) 
      { 
       $name= $objWorksheet->getCellByColumnAndRow(0,$i)->getValue(); 
       $address= $objWorksheet->getCellByColumnAndRow(1,$i)->getValue(); 

       $data_user=array('name'=>$name, 'username'=>$address); 

       $this->user_model->add_data($data_user); 
      } 

     } 


    }   

    ?> 

型號:

<?php 
if (!defined ('BASEPATH')) exit ('No direct access allowed'); 
    class User_model extends CI_Controller 
{ 
    public function __construct() { 
     parent::__construct(); 
    } 

    public function add_data($data_user) 
    { 
     $this->load->database(); 

     $this->db->insert('data',$data_user); 
     return $this->db->insert_id(); 

    } 
} 

?> 

錯誤在我的代碼:

Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open data.xls for reading! File does not exist.' in C:\xampp\htdocs\ci_excel\application\third_party\PHPExcel\Reader\Excel2007.php:347 Stack trace: #0 C:\xampp\htdocs\ci_excel\application\controllers\excelcontroller.php(19): PHPExcel_Reader_Excel2007->load('data.xls') #1 [internal function]: ExcelController->index() #2 C:\xampp\htdocs\ci_excel\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array) #3 C:\xampp\htdocs\ci_excel\index.php(202): require_once('C:\xampp\htdocs...') #4 {main} thrown in C:\xampp\htdocs\ci_excel\application\third_party\PHPExcel\Reader\Excel2007.php on line 347 
+0

在哪裏存儲你的文件? 你能爲你提供文件夾和文件結構嗎? – Sanoob

+0

路徑爲:application/third_party/Excel5/data.xlsx – bhanu

回答

2

由錯誤信息來看,你的評論,它看起來像你正在使用一個錯誤的文件路徑。

$objPHPExcel=$objReader->load('data.xls'); 

在CodeIgniter路徑是相對於條目腳本,通常是index.php。

使用到此位置的相對文件路徑或絕對路徑。

+0

感謝您的回覆。我是初學者。你能建議我在哪裏保存我的文件? – bhanu

+0

將它移動到與CodeIgniter條目腳本相同的文件夾,或者參考Shanoop描述的文件路徑('./application/third_party/Excel5/data.xlsx') –

+0

我再次出現錯誤。我可以需要一些配置嗎? – bhanu

0

我想你用不正確的路徑,改變這個

$objPHPExcel=$objReader->load('data.xls'); // error in this line 

$objPHPExcel=$objReader->load('./application/third_party/Excel5/data.xlsx'); 
+0

謝謝!但我收到錯誤致命錯誤:未捕獲異常「PHPExcel_Reader_Exception」.... – bhanu

+0

@bhanu我不熟悉PHPEXcel 檢查此鏈接http://phpexcel.codeplex.com/discussions/61890 – Sanoob

相關問題