在codeigniter中插入csv文件中的数据

时间:2014-02-24 11:10:24

标签: php codeigniter csv

我正在尝试上传一个csv文件,之后文件数据将被打印/插入。但我的代码不是根据我的代码打印数据。它是打印ID:标记完成1.但我的文件正在上传。 我的输入csv文件格式是

     Id,Marks
     20,46
     20,46
     32,45

我的控制器代码是

     public function upload_marks(){
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'csv';
        $config['max_size'] = '10000';

       $this->load->library('upload', $config);
        if ( ! $this->upload->do_upload('marksfile'))
        {
          echo  $this->upload->display_errors();               
        }
      else
       {
        $uploadData = $this->upload->data();
        $fileName = $uploadData['file_name'];
        $this->load->library('csvreader');
        $csvData = $this->csvreader->parse_file('./uploads/',$fileName);
        foreach($csvData as $data){
            echo " ID: ".$data['id'];
            echo " Marks: ".$data['marks'];
        }
        echo " Complete 1";  
    }
}

问题出在哪里?你能得到我的错误吗?

2 个答案:

答案 0 :(得分:0)

使用PHPExcel Library它非常棒,我在各个项目中都使用过它。

https://phpexcel.codeplex.com/

答案 1 :(得分:0)

假设您的数据位于您的excell工作表的B1,B2,B3,B4位置,然后使用phpexcel库编写如下代码。

                  $uploadData = $this->upload->data();
          $fileName = $uploadData['file_name'];
          $this->load->library('excel');
          $objReader = PHPExcel_IOFactory::createReader('Excel5');
          $objPHPExcel = $objReader->load('./uploads/'.$fileName);
          $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

          $prof = $objPHPExcel->getActiveSheet()->getCell('B1')->getValue();
          $term = $objPHPExcel->getActiveSheet()->getCell('B2')->getValue();
          $sbjCode = $objPHPExcel->getActiveSheet()->getCell('B3')->getValue();
          $year = $objPHPExcel->getActiveSheet()->getCell('B4')->getValue();

然后根据位置对上面的代码进行编码。希望这会有效。