php excel导入demo,导入excel文件,后端php处理导入的数据并存入数据库,需要前后端结合的demo!|excel怎么做表格...

导入excel文件,后端php处理导入的数据并存入数据库,需要前后端结合的demo!

thinkphp3.2phpexcel导入最基本用法

先整个最基础的代码,理解个,后面的就非常了

$file_name= './Upload/excel/123456.xls';

import("Org.Util.PHPExcel");

import("Org.Util.PHPExcel.IOFactory");

$objReader = \PHPExcel_IOFactory::createReader('Excel5');

$objPHPExcel = $objReader->load($file_name,$encode='utf-8');

$sheet = $objPHPExcel->getSheet(0);

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumn = $sheet->getHighestColumn(); // 取得数

$s = $objPHPExcel->getActiveSheet()->getCell("A2")->getValue();

表格内容:

再给大家整个一点难度的,先说下思路。

1.上传excel文件,得到它的地址

2.写个处理exl的function,即可

实例代码演示:

public function upload(){

$files = $_FILES['exl'];

// exl格式,否则重新上传

if($files['type'] !='application/vnd.ms-excel'){

$this->error('不是Excel文件,请重新上传');

}

// 上传

$upload = new \Think\Upload();// 实例化上传类

$upload->maxSize   =     3145728 ;// 设置附件上传大小

$upload->exts      =     array('xls');// 设置附件上传类型

$upload->rootPath  =     './Upload/'; // 设置附件上传根目录

$upload->savePath  =     'excel/'; // 设置附件上传(子)目录

//$upload->subName   =     array('date', 'Ym');

$upload->subName   =     '';

// 上传文件

$info   =   $upload->upload();

$file_name =  $upload->rootPath.$info['exl']['savepath'].$info['exl']['savename'];

$exl = $this->import_exl($file_name);

// 去掉第exl表格中第一行

unset($exl[0]);

// 清理空数组

foreach($exl as $k=>$v){

if(empty($v)){

unset($exl[$k]);

}

};

// 重新排序

sort($exl);

$count = count($exl);

// 检测表格导入成功后,是否有数据生成

if($count<1){

$this->error('未检测到有效数据');

}

// 开始组合数据

foreach($exl as $k=>$v){

$goods[$k]['goods_sn'] = $v;

// 查询数据库

$where['goods_sn'] = array('like','%'.$v.'%');

$res = M('goods')->where($where)->find();

$goods[$k]['goods_name'] = $res['goods_name'];

$goods[$k]['goods_thumb'] = $res['goods_thumb'];

if($res){

// 是否匹配成功

$goods[$k]['is_match']    = '1';

$f  = 1;

}else{

// 匹配失败

$goods[$k]['is_match']    = '0';

$w  = 1;

}

}

// 实例化数据

$this->assign('goods',$goods);

//print_r($f);

// 统计结果

$total['count'] = $count;

$total['success'] = $f;

$total['error'] = $w;

$this->assign('total',$total);

// 删除Excel文件

unlink($file_name);

$this->display('info');

}

/* 处理上传exl数据

* $file_name  文件路径

*/

public function import_exl($file_name){

//$file_name= './Upload/excel/123456.xls';

import("Org.Util.PHPExcel");   // 这里不能漏掉

import("Org.Util.PHPExcel.IOFactory");

$objReader = \PHPExcel_IOFactory::createReader('Excel5');

$objPHPExcel = $objReader->load($file_name,$encode='utf-8');

$sheet = $objPHPExcel->getSheet(0);

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumn = $sheet->getHighestColumn(); // 取得总列数

for($i=1;$i

$data[] = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();

}

return $data;

}

有问题一定要及时弄清楚

php 怎么把数据导出到excel表格

php 把数据导出到excel表格有多种方法,比如使用 phpExcel 等下代码是直接通过 header 生 excel 文件的代码示例:

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:filename=xls_region.xls");

$cfg_dbhost = 'localhost';

$cfg_dbname = 'testdb';

$cfg_dbuser = 'root';

$cfg_dbpwd = 'root';

$cfg_db_language = 'utf8';

// END 配置

//链据库

$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);

mysql_select_db($cfg_dbname);

//选择编码

mysql_query("set names ".$cfg_db_language);

//users表

$sql = "desc users";

$res = mysql_query($sql);

echo "";

//导出表头(也就是表中拥有的字段)

while($row = mysql_fetch_array($res)){

$t_field[] = $row['Field']; //Field中的F要大写,否则没有结果

echo "".$row['Field']."";

}

echo "";

//导出100条数据

$sql = "select * from users limit 100";

$res = mysql_query($sql);

while($row = mysql_fetch_array($res)){

echo "

";

foreach($t_field as $f_key){

echo "".$row[$f_key]."";

}

echo "";

}

echo "";

?>

php如何批量导入excel表格文件

$data = new Spreadsheet_Excel_Reader();//实例

02                $data->setOutputEncoding('utf-8');//设置读取编码

03                $data->read($p);//$p就是excel文件路径

04

05                for ($i = 2; $i sheets[0]['numRows']; $i ) {

06                    //传如,将一行信息写入数据库;

07                    $arr = $data->sheets[0]['cells'][$i];

08                    if($arr){

09                        $r = addUserLine($arr,$posts['bid']);

10                        if($r){

11                        echo "楼栋:".$r['bldgname']." 房间:".$r['roomname']." 学员:".$r['name']." 学号:".$r['sid']." 导入成功

";

12                        }else{

13                            echo "

";

14                        }

15                    }

16                }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值