php用选字段导出表,PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?_excel筛选数据...

导入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($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 用PHPExcel往数据库导入大量数据

php导量数据的Excel:

PHP从数据库次读取100万行,和分多次将100万行写入文本文件都题

Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚客户是什么版本。

要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp phpmyadmin是一个易用性和性能都最平衡的选择

PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,不妨调整一下php.ini配置,把超时时间和内存限制都改到很大

如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入

php怎么读取excel 文件数据并输出

PHPExcel

PHPExcel 是用来Office Excel 文档的一个PHP类库,它基于微OpenXML标准和PHP。可以使用它来读取入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

PHP读取示例代码

//获取上传的excel临时文件

$path = $_FILES["file"]["tmp_name"];

//将临时文件移动当前目录,可自定义存储位置

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);

//将获取在服务器中的Excel文件,此处为上传文件名

$path = $_FILES["file"]["name"];

//调用readExcel函数返回一个

二维数组

$exceArray = readExcel($path);

//创建一个读取

excel函数

function readExcel($path){

//引入PHPExcel类库

include 'Classes/PHPExcel.php';

include 'Classes/PHPExcel/IOFactory.php';

$type = 'Excel5';//设置为Excel5代表支持2003或以下版本,

Excel2007代表2007版

$xlsReader = \PHPExcel_IOFactory::createReader($type);

$xlsReader->setReadDataOnly(true);

$xlsReader->setLoadSheetsOnly(true);

$Sheets = $xlsReader->load($path);

//开始读取上传到服务器中的Excel文件,返回一个

二维数组

$dataArray = $Sheets->getSheet(0)->

toArray();

return $dataArray;

}

PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?

讲的复杂了啊!

在一个完整版的PHPExcel之压,在“Examples录下会找到一大堆例子据你的要求这个“01simple-download-xlsx.php”文件就可以了!

注:你先保持“01simple-download-xlsx.php”文件所在的目录位置不要变,测试好了,再改变名,移到别的地方,地方变了的话,文件里的 “require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';”的所在位置也要变!

我们要改动代码很少,如下:

// Add some data

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1', 'Hello')

->setCellValue('B2', 'world!')

->setCellValue('C1', 'Hello')

->setCellValue('D2', 'world!');

// Miscellaneous glyphs, UTF-8

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A4', 'Miscellaneous glyphs')

->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

直接用的我的替换

$objPHPExcel->setActiveSheetIndex(0)//这个就是现实导出的表第一行,有几列是根据你的那张表有几列!

->setCellValue('A1', '单号')

->setCellValue('B1', '标题')

->setCellValue('C1', '内容')

->setCellValue('D1', '序列')

->setCellValue('E1', '数字');

//下面实现的就是建立数据库连接,直接到表,你的连接数据库、表、字段应该与我的不一样,你可以参考

$conn=@mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());//连接mysql数据库

mysql_select_db("temp",$conn) or die("数据库访问错误".mysql_error());//数据库

mysql_query("set character set gb2312");

mysql_query("set names gb2312");

$sqlgroups="select * from test ";//查询这一张表的条件

$resultgroups=mysql_query($sqlgroups);

$numrows=mysql_num_rows($resultgroups);

if ($numrows>0)

{

$count=1;

while($data=mysql_fetch_array($resultgroups))

{

$count =1;

$l1="A"."$count";

$l2="B"."$count";

$l3="C"."$count";

$l4="D"."$count";

$l5="E"."$count";

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue($l1, $data['id'])//这就是你要导出表的字段、与对应的名称

->setCellValue($l2, $data['title'])

->setCellValue($l3, $data['content'])

->setCellValue($l4, $data['sn'])

->setCellValue($l5, $data['num']);

}

}

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

昨目里有个新需求,客户希望把一些数据能导出成Excel,刚开始用PHP原生输入Excel表格,发现效果不是很理想,于是找到一个比较著名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。

网页链接

php 表格数据导出生成execl

if($_POST['oksubmit']){

$filename="导文件.xls";

header ('Content-type: application/x-msexcel');

header ("Content-Disposition: attachment; filename=$filename" );

echo "学号\t";

echo "姓名\t\n";

for($i=0;$i<10;$i ){

echo $i."\t";

echo "姓名".$i."\t\n";

}

}

?>

PHP怎样将查询出来的数据导出成excel表格?

下列编码程序可以。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值