网站建设资讯

NEWS

网站建设资讯

php导入表格数据类型,php导入表格数据类型不对

怎么使用php把表格中的数据导入到excel中

下面是我写的一个PHP导出数据到CSV问价的函数,你到时候直接调用就行了

创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元三台做网站,已为上家服务,为三台各地企业和个人服务,联系电话:028-86922220

/**

* 导出CSV文件

* @param string $fileName 文件名字

* @param string|array $data 导出数据,csv格式的字符串|数值数组

* @param string $to_encoding 目标转换编码

* @param string $from_encoding 当前编码

*/

function exportCSV($fileName = '', $data = '', $to_encoding = 'gb2312', $from_encoding = 'utf-8') {

$fileName = empty($fileName) ? date('YmdHis') : $fileName;

// 文件标签

Header("Content-type: application/octet-stream");

header("Content-type: application/vnd.ms-excel; charset=$from_encoding");

Header("Content-Disposition: attachment; filename=$fileName.csv");

$str = '';

if($data) {

if(is_array($data)) {

foreach ($data as $v) {

if(is_array($v)) {

foreach ($v as $vo) {

$str .= (is_numeric($vo) ? "'".$vo : $vo."").",";

}

$str = trim($str, ",")."\r\n";

} else {

$str .= (is_numeric($v) ? "'".$v : $v).",";

}

}

$str = trim($str, ",")."\r\n";

} else {

$str = $data;

}

}

echo mb_convert_encoding($str, "gb2312", "utf-8");

exit;

}

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

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

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

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

04                     

05                for ($i = 2; $i = $data-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']." 导入成功br /hr /";    

12                        }else{    

13                            echo "br /hr /";    

14                        }    

15                    }    

16                }

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

thinkphp3.2和phpexcel导入最基本用法

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

$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($count1){

$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$highestRow+1;$i++){

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

}

return $data;    

}

有问题一定要及时弄清楚


本文名称:php导入表格数据类型,php导入表格数据类型不对
转载注明:http://cdweb.net/article/dsggedp.html