博主信息
dxp2tq的博客
博文
159
粉丝
1
评论
0
访问量
137744
积分:0
P豆:570

PHPExcel导入

2018年10月24日 12:29:33阅读数:456博客 / dxp2tq的博客/ PHP

-- Yii


前台:

<form action=""  method="post"  enctype ="multipart/form-data" >
   <div class="row" style="text-align: center;">
       <?php echo CHtml::label('数据格式请使用excel2003统一模版编辑, 上传后将逐步显示数据修改信息', 'false'); ?>
   </div>
   
   <div class="row">
       <?php echo CHtml::label('参赛数据上传Excel模版:', 'false'); ?>
       <?php echo CHtml::link(CHtml::button('下载'), url('sysadmin/goods/getmodel')); ?>
   </div>
   
   <div class="row">
       <?php echo CHtml::label('上传参赛数据Excel表格:', 'false'); ?>
       <?php echo CHtml::fileField('myfile'); ?>
   </div>
   
   <div class="row" style="text-align: center;">
       <?php echo CHtml::label('请保持上传文件小于2MB!', 'false', array('style'=>'color:red;text-align:center;')); ?>
   </div>
   
   <div class="row" style="text-align: center">
       <?php echo CHtml::submitButton('确定', array('style'=>'width:70px;border:1px solid #2D5082;background-color:#4D6080;color:#fff'));?>
   </div>
   
</form>



后台:


/**
* 上传参赛数据表格
*/
public function actionExcelin(){
   if($_POST){
       if($_FILES){
           require_once 'PHPExcel.php';
           require_once 'PHPExcel/IOFactory.php';//引入读取Excel的类文件
           /*$PHPExcel = new PHPExcel();*/

           $file  = CUploadedFile::getInstanceByName('myfile');//获取Excel文件
           $fileName = 'excel/'.time().'.'.$file->getExtensionName();//Excel文件重命名
           $file->saveAs($fileName);//保存Excel文件到服务器

           /*$data = new Spreadsheet_Excel_Reader();
           $data->setOutputEncoding('UTF-8');
           $data->read($fileName);*/

           $objPHPExcel = PHPExcel_IOFactory::load($fileName);//加载Excel文件
           //只加载指定sheet
           $fileType = PHPExcel_IOFactory::identify($fileName);//自动获取文件的类型提供给phpexcel使用
           $objReader = PHPExcel_IOFactory::createReader($fileType);//获取文件读取操作对象
           $sheetName = $objPHPExcel->getSheetNames();
           $sheetName = $sheetName;
           $objReader->setLoadSheetsOnly($sheetName);
           //只加载指定sheet

           /*$sheetCount = $objPHPExcel->getSheetCount();//获取Excel文件有多少个sheet
           for($i=0;$i<$sheetCount;$i++){
               $data = $objPHPExcel->getSheet($i)->toArray();//读取每个sheet中的数据 放入数组
               echo "<pre>";
               print_r($data);
           }*/

           foreach ($objPHPExcel->getWorksheetIterator() as $sheet){//循环取sheet
               foreach ($sheet->getRowIterator() as $row){//逐行处理
                   if($row->getRowIndex() < 2){
                       continue;
                   }
                   $dataArr = array();
                   foreach ($row->getCellIterator() as $cell){//逐列处理
                       $data = $cell->getValue();//获取单元格数据
                       $dataArr[] = $data;
                   }
                   $Gender = $dataArr[13]=="男"?"1":"0";
                   $res = Yii::app()->db->createCommand()->insert('yqm_schoolsign', array(
                       "Content" => $dataArr[0],//参赛证卡号
                       "ActId" => $dataArr[1],//档案号
                       "RealName" => $dataArr[2],//姓名
                       "Group" => $dataArr[3],//组别
                       "Category" => $dataArr[4],//类别
                       "Title" => $dataArr[5],//参赛作品名称(内容)
                       "MatchTime" => $dataArr[6],//参赛时间
                       "LevelId" => $dataArr[7],//***
                       "MatchAddr" => $dataArr[8],//参赛地点
                       "FdTeacherName" => $dataArr[9],//辅导教师
                       "FdSchoolName" => $dataArr[10],//辅导学校
                       "FdTeacherTel" => $dataArr[11],//老师电话
                       "MatherTel" => $dataArr[12],//联系电话
                       "Gender" => $Gender,//性别
                       "HeadPic_Small" => $dataArr[14],//头像或照片
                       "IdCard" => $dataArr[15],//***号
                       "MatchLevel" => $dataArr[16],//赛季
                       "MatchRank" => $dataArr[17],//表演曲目级别
                   ));                  
                  /* echo "<pre>";
                   var_dump($dataArr);*/
               }
           }
if($res){
  echo "<h3>导入成功!</h3>";
}
           Yii::app()->end();
       }else{
           SysShowMsg('请上传正确的excel文件', '返回批量修改', url('sysadmin/goods/batchedit'));
       }
   }

   $this->render('excel');
}

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • PHP如何带图片的Excel表格呢?图片又如何出到Excel中呢?出的Excel如何定义样式使其更加漂亮?下面本篇文章就来给大家一一解决,希望对大家有所帮助!
    phpmyadminxls的方法是:首先出以逗号为内容分隔符的csv文件;接着使用【ultraedit】打开csv文件,另存为【utf8-无bom】;然后phpmyadmin选择,使用默认utf8
    mysqloracle的方法:首先将表中数据文本文件保存;然后写控制文件,并用记事本打开文档,写完后改扩展名为“.ctl”;接着用sqlldr文本;最后加载控制文件自动即可。
    go语言包的方法:1、通过import命令包文件;2、通过点操作的方式包;3、使用别名操作的方式包;4、通过“_”操作的方式包。
    方法:1、用navicat新建数据表,注意和txt数据的列对应;2、右键表,选择;3、类型选择“txt”;4、选择文件的路径,编码选择utf-8;5、选择分隔符,模式为“添加..”;
    go语言包的方法:可以通过import语句包,如【import "包1"】或【import ("包1" "包2")】。
    sqlyogsql文件的方法:首先打开sqlyog软件;然后找到工具栏上的【】选项;最后选择“.sql”文件的形式即可。
    procreate字体的方法:首先点击右上角的EditStyle按钮,点击Import Font选项;然后找到字体位置,点击要的字体;最后在字体列表就可以看到的字体。
    OracleExcel数据的方法:1、打开“ODBC Importer”;2、将“User/System DSN”选择“Excel Files”;3、接着点击“Connect”将表格;4、点击“
    mysql把数据的方法:1、使用“mysql -u用户名 -p密码 < sql文件”语句数据;2、使用“source sql文件的路径”语句数据;3、使用mysqlimport数据
    php将数据库mysql的方法:1、通过CMDMySQL数据库;2、通过Navicat for MySQLMySQL数据库;3、通过PHP执行SQL文件MySQL数据库。
    excel外部数据的方法:首先新建一个空白的excel工作表;然后点击右上角的一个功能数据;接着点击左上角的一个自外部数据的按钮;最后选择一下的方式,并找到需要的文件,确定即可。
    把文本mysql的方法:首先建立表格后右键选择,选择文本文件【.txt】的格式;然后选择路径和编码【utf-8】,并选择分隔符;接着选择标题,依次点击下一步;最后点击开始即可。
    方法:首先打开软件,打开指定数据库;然后选中要数据的数据表,点击鼠标右键,在弹出的菜单中选择“”;接着指定文件,设置目标字段与源字段的对应关系;最后选择一种模式,点击“开始”即可
    ae模板pr的方法:首先打开AE软件做好特效素材;然后选择【+alpha】的模式进行输出并保存;接着打开pr并选择【】;最后找到视频素材文件完成即可。
    react中图片的方法:1、通过import方式,代码为【import logo from '.
    mxf格式pr的方法:首先打开pr软件;然后在pr的界面中,找到【媒体以开始】的选项;接着选择mxf格式文件;最后直接拖动放到该区域即可成功
    layuiexcel文件的方法:首先在页面中引【excel.js】文件;然后监听头工具栏的点击事件,代码为【title : 'Excel',content : $("#ImportExcel
    本篇文章给大家介绍一下使用PhpSpreadsheet出Excel的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    impdpdmp文件的方法:首先打开cmd;然后创建表空间,并创建用户,赋予权限;接着登录ToolBox用户;最后编写impdp语句。