我正在尝试上传一个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";
}
}
问题出在哪里?你能得到我的错误吗?
答案 0 :(得分:0)
使用PHPExcel Library它非常棒,我在各个项目中都使用过它。
答案 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();
然后根据位置对上面的代码进行编码。希望这会有效。