ci phpexcel mysql_PHPExcel导入数据到mysql数据库
用了PHPexcel插件,將excel的數據導入到msyql數據庫里面,之前一直有亂碼,這是我親測的,沒有亂碼哦!
頁面編碼:gb2312
mysql編碼:gb2312<?php
include_once('inc/conn.php');
$file?=?$HTTP_POST_FILES['file']['name'];
$filetempname?=?$_FILES['file']['tmp_name'];
//自己設置的上傳文件存放路徑
$filePath?=?'upFile/';
$str?=?"";
require_once?'PHPExcel.php';
require_once?'PHPExcel\IOFactory.php';
require_once?'PHPExcel\Reader\Excel2007.php';//excel?2007
$filename=explode(".",$file);//把上傳的文件名以“.”好為準做一個數組。
$time=date("Y-m-d-H-i-s");//去當前上傳的時間
$filename[0]=$time;//取文件名t替換
$name=implode(".",$filename);?//上傳后的文件名
$uploadfile=$filePath.$name;//上傳后的文件名地址
//move_uploaded_file()?函數將上傳的文件移動到新位置。若成功,則返回?true,否則返回?false。
$result=move_uploaded_file($filetempname,$uploadfile);//假如上傳到當前目錄下
if($result){?//如果上傳文件成功,就執行導入excel操作
$objReader?=?PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel?=?PHPExcel_IOFactory::load($uploadfile);
$sheet?=?$objPHPExcel->getSheet(0);
$highestRow?=?$sheet->getHighestRow();?//?取得總行數
$highestColumn?=?$sheet->getHighestColumn();?//?取得總列數
//循環讀取excel文件,讀取一條,插入一條
for($j=2;$j<=$highestRow;$j++){
for($k='A';$k<=$highestColumn;$k++){
$str?.=?iconv("UTF-8","gbk",$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//讀取單元格
}
$strs?=?explode("\\",$str);
mysql_query("set?names?'gb2312'");//這就是指定數據庫字符集,一般放在連接數據庫后面就系了
$sql?=?"INSERT?INTO?report?(duty_date,name_am,name_pm)?VALUES('".$strs[0]."','".$strs[1]."','".$strs[2]."')";
if(!mysql_query($sql)){
return?false;
}
$str?=?"";
}
unlink($uploadfile);?//刪除上傳的excel文件
$msg?=?"導入成功!";
}else{
$msg?=?"導入失敗!";
}
return?$msg;conn.php是數據庫連接代碼!
總結
以上是生活随笔為你收集整理的ci phpexcel mysql_PHPExcel导入数据到mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: C语言程序设计 基础知识点
- 下一篇: Java数据库的介绍和使用
