中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于ThinkPHP+uploadify+upload+PHPExcel如何實現無刷新導入數據

發布時間:2021-09-05 10:22:47 來源:億速云 閱讀:106 作者:小新 欄目:開發技術

小編給大家分享一下基于ThinkPHP+uploadify+upload+PHPExcel如何實現無刷新導入數據,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1.引入必要文件及上傳input

 <load file="__PUBLIC__/js/jquery-1.11.3.min.js" />
 <load file="__PUBLIC__/uploadify/jquery.uploadify.min.js" />
 <load file="__PUBLIC__/uploadify/uploadify.css" />
<input type="file" class="" id="student" name="student">

2.uploadify使用操作

<script>
 $(function(){
 //ThinkPHP上傳地址
 var upload = "{:U(MODULE_NAME.'/Student/upload')}";
 //ThinkPHP sessionID的提交變量
 //'VAR_SESSION_ID'=>'session_id',在ThinkPHP/Conf/convention.php中進行配置,默認關閉的需要開啟
 var sid = '{:session_id()}';
 //導入數據地址
 var daoruUrl = "{:U(MODULE_NAME.'/Student/daoruHandle')}"
 //Amaze ui 模態框
 var modal = $('#my-modal-loading');
 //uploadify使用方法
 $('#student').uploadify({
  'swf'  : '__PUBLIC__/uploadify/uploadify.swf',
  'uploader' : upload,
  'buttonText' : '選擇文件...',
  'width':120,
  'height':30,
  'formData':{'session_id':sid},
  'fileTypeExts':'*.xls',
  //開始上傳彈出模態框
  'onUploadStart' : function(file) {
  $('#alert-content').html('正在上傳文件');
   modal.modal();
  },
  //上傳成功關閉模態框,并用后臺函數導入數據
  'onUploadSuccess':function(file, data, response){
  $('#alert-content').html('正在導入數據');
  data = eval("("+data+")");
  $.ajax({
   type: 'POST',
   url: daoruUrl,
   data: {'file':data.file},
   success: function(retdata){
   modal.modal('close');
   if(retdata==1){
    alert('導入成功');
   }else{
    alert('導入失敗');
   }
   },
   dataType: 'json'
  });
  }
 });
 });
 </script>

3、ThinkPHP控制器上傳操作:備注需要引入Upload.class.php空間

 function upload(){
  $config = array(
   'maxSize' => 3145728,
   'rootPath' => './Uploads/',
   'savePath' => '',
   'saveName' => array('uniqid',''),
   'exts'  => array('xls'),
   'autoSub' => true,
   'subName' => array('date','Ymd'),
   );
  $upload = new Upload($config);
  // 上傳文件 
  $info = $upload->upload();
  if(!$info) {// 上傳錯誤提示錯誤信息
   $this->error($upload->getError());
  }else{// 上傳成功 獲取上傳文件信息
   $file = $info['Filedata']['savepath'].$info['Filedata']['savename'];
  }
  //p($info);
  $data = array(
   'file'=>'./Uploads/'.$file,
   );
  echo json_encode($data);
 }

4.導入數據進去mysql

//導入數據處理
 function daoruHandle(){
  $file = I('file');
  $excelData = excel_to_mysql($file);
  foreach($excelData['data'] as $row){
   $data = array(
    'xuehao'=>$row['xuehao'],
    'xingming'=>$row['xingming'],
    'xingbie'=>($row['xingbie']=='男')?1:0,
    'mima'=>md5($row['mima']),
    );
   M('student')->add($data);
  }
  echo 1;
 }

5.PHPExcel讀取Excel文件返回數據函數

function excel_to_mysql($file){
  //導入PHPExcel第三方類庫
  //vendor('PHPExcel.PHPExcel');
  import('Classes.PHPExcel',COMMON_PATH,'.php');
  //實例化PHPExcel類,用于接收Excel文件
  $PHPExcel = new PHPExcel();
  //讀取Excel文件類實例化
  $PHPReader = new PHPExcel_reader_Excel5();
  //檢測Excel版本是否可讀
  if(!$PHPReader->canRead($file)){
   $PHPReader = new PHPExcel_Reader_Excel2007();
   if(!$PHPReader->canRead($file)) return array('error'=>1);//未知版本的Excel
  }
  //讀取Excel文件
  $PHPExcel = $PHPReader->load($file);
  //獲得Excel中表的數量
  $sheetCount = $PHPExcel->getSheetCount();
  //獲得第一張工作表
  $sheet=$PHPExcel->getSheet(0);
  //獲得表中最大數據列名
  $column = $sheet->getHighestColumn();
  //獲得表中最大數據行名
  $row = $sheet->getHighestRow();
  //循環獲得表中數據
  for($i=1;$i<=$row;$i++){
   $data[] = array(
    //通過工作表對象的getCell方法獲得單元格 getValue方法獲得該單元格數值
    'xuehao'=>$sheet->getCell('A'.$i)->getValue(),
    'xingming'=>$sheet->getCell('B'.$i)->getValue(),
    'xingbie'=>$sheet->getCell('C'.$i)->getValue(),
    'mima'=>$sheet->getCell('D'.$i)->getValue(),
   );
  }
  //釋放工作表對象
  unset($sheet);
  //釋放讀取Excel文件對象
  unset($PHPReader);
  //釋放Excel文件對象
  unset($PHPExcel);
  //返回數據
  return array('error'=>0,'data'=>$data);
 }

看完了這篇文章,相信你對“基于ThinkPHP+uploadify+upload+PHPExcel如何實現無刷新導入數據”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青海省| 手游| 来安县| 竹北市| 香港| 股票| 黎城县| 贵阳市| 泸溪县| 巴南区| 洮南市| 东城区| 安福县| 襄垣县| 兴业县| 普定县| 体育| 临海市| 大埔县| 兴隆县| 东乡县| 陆川县| 陆良县| 平乡县| 山东| 和平区| 玛曲县| 白朗县| 耿马| 巴南区| 郸城县| 长葛市| 宁德市| 翁牛特旗| 五台县| 普宁市| 大宁县| 凤山市| 枣阳市| 晋州市| 萍乡市|