导航:首页 > 编程语言 > php数组生成excel

php数组生成excel

发布时间:2023-05-12 03:02:50

1. thinkphp怎样使用PHPExcel导出网站数据为excel

第一步:先去下载PHPExcel插件压缩包,解压后只用到Classes文件夹里面的文件就行。
第二步:然后把Classes文件夹名称改为PHPExcel (也可以不用改),再放在thinkPHP指定的第三方类库目录文件夹Vendor下面,第三方类库目录在ThinkPHP/Library 里面


第三步:整理数据,整理成适合excel表格式的数据,不多说直接给代码

publicfunctionexport(){//导出Excel表数据整理
$xlsData=M('table')->select();//查找需要导出的数据
$xlsCell=array(//设置excel文档的格式第一行就相当于标题
array('id','ID号'),
array('title','标题'),
array('time','时间'),
array('content','内容')
);

$newArray=array();//自定义数组
foreach($xlsDataas$k=>$v)
{//然后把所有查找到的数据根据设置第一行的标题相对应放进数组里面
$newArray[$k]['id']=$v['id'];
$newArray[$k]['title']=$v['title'];
$newArray[$k]['time']=date('Y-m-d',$v['time']);
$newArray[$k]['content']=$v['content'];
}
$xlsName='Excel表数据'//设置Excel表文件名称
$this->exportExcel($xlsName,$xlsCell,$newArray);//调用PHPExcel插件,这步的函数也需要自定义
}

/**
*@param$xlsName名称
*@param$xlsCell参数(标题数组)
*@param$newArray内容(数据数组)
*/
publicfunctionexportExcel($xlsName,$xlsCell,$newArray){

$xlsTitle=iconv('utf-8','gb2312',$xlsName);//文件名称需要转码避免乱码出错
$xlsCell_num=count($xlsCell);
$newArray_num=count($newArray);

vendor("PHPExcel.PHPExcel");//关键,利用thinkphp内置函数嵌套PHPExcel插件,如果在第二步没有改文件夹名称就这样:vendor("Classes.PHPExcel");点之前表示插件文件夹,点之后的表示PHPExcel.php文件的名称不要后缀名
$objPHPExcel=newPHPExcel();//实例化PHPExcel

$column_key='A'//excel表的每个单元格都是A1,A2,A3....类似的,大写字母代表列,数字代表行,那么第一行就是标题了
foreach($xlsCellas$k=>$v){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($column.Ƈ',$v);//有多少标题列先写进第一行
$column_key++;//这样循环的好处就是不用限定有多少列,可以根据你的数据表字段有多少就导出多少列
}
for($i=0;$i<$newArray_num;$i++){//第一层循环表示多少行
$column_key='A'
for($j=0;$j<$xlsCell_num;$j++){//第二层表示列
$objPHPExcel->getActiveSheet(0)->setCellValue($column_key.($i+2),$newArray[$i][$xlsCell[$j][0]]);//($i+2)表示从第二行开始,第一行已经设置为标题了
$column_key++;
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$xlsTitle.xls");//attachment新窗口打印inline本窗口打印
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//Excel5为xls格式,excel2007为xlsx格式
$objWriter->save('php://output');
exit;
}

运行后的效果文件图

2. php怎么导出大量数据的Excel

简介:可以利用工具软件导出成Excel文件

工具原料:Apache+php+mysql网站运行环境,phpMyAdmin v4.6.2

  1. 下载phpMyAdmin v4.6.2软件后解压放在网站激基尘根目录

  2. 用root用户和密码登入phpMyAdmin,在左边栏点击要导出的数据库,然后点击要导出的数据表,最后点击导出如图所示。

  3. 最后点击执行按钮,OK.

3. 用php怎么从数据里调取数据,导出形式是excel

$link = mysql_connect() or die(mysql_error()); //连接mysql

mysql_select_db(DATABASE) or die( "肆迹Unable to select database"); //选择要操作的数据库
$result = mysql_query("SELECT * FROM table1"); //具体的查询
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //返回查询结果
print_r($row);
}
mysql_free_result($result); /族伏/释放资源

至于导出层excel,目前没有特别好用的excel调用代码,不过有个简单的解决方案,就是写csv格裂穗并式的excel,接上面的查询结果:
$excelFileName = 'my.csv';

touch($fileName);
$handle = fopen($excelFileName , "ab");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //返回查询结果
$tmp='';

foreach($row as $key=>){
$tmp.=($tmp ? ',' : '').'"'.str_replace('"','"',$value).'"';
}
fwrite($handle, $tmp."\r\n");

}
fclose($handle);

4. php怎么导出大量数据的Excel

php导出大量数据Excel的具体操作步骤如下:

1、使用phpstudy搭建一个测试平台,直接访问数据库。

5. php怎么导出大量数据的Excel

php导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包解决。方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力的问题,生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。要注意的:1.在导出逻辑文件开头,一定要声明set_time_limit(0),防止脚本超时;2.每个文件生成后,适当的sleep一下,让程序休息一下下;3.因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:

6. php如何输出excle

分类: 电脑/网络 >> 软件
解析:

将下面的代码存为excel.php ,然后在页面中包括进来

然后调用慎差

1. Call xlsBOF()

2. 将一些内容写入到xlswritenunber() 或者 xlswritelabel()中.

3.然后调用 Call xlsEOF()

也可以用 fwrite 函数直接写到服务器上,而不是用echo 仅仅在浏览器上显示。

<?php

----- begin of function library -----

Excel begin of file header

function xlsBOF() {

echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);

return;

}

Excel end of file footer

function xlsEOF() {

echo pack("ss", 0x0A, 0x00);

return;

}

Function to write a Number (double) into Row, Col

function xlsWriteNumber($Row, $Col, $Value) {

echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);

echo pack("d", $Value);

return;

}

Function to write a label (text) into Row, Col

function xlsWriteLabel($Row, $Col, $Value ) {

$L = strlen($Value);

echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);

echo $Value;

return;

}

----- end of function library -----

?>

To display the contents directly in a MIME patible browser

add the following lines on TOP of your PHP file:

<?php

header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header ("雀改Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");

header ("Cache-Control: no-cache, must-revalidate");

header ("Pragma: no-cache");

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

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

header ("顷孝判Content-Description: PHP/INTERBASE Generated Data" );

the next lines demonstrate the generation of the Excel stream

xlsBOF(); begin Excel stream

xlsWriteLabel(0,0,"This is a label"); write a label in A1, use for dates too

xlsWriteNumber(0,1,9999); write a number B1

xlsEOF(); close the stream

?>

7. php导出生成excel表格几种方法介绍

php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls");$tx=’表局陆头’; echo $tx."nn"; //输桐悄顷出内容如下: echo "姓名"."t"; echo "年龄"."t"; echo "学历"."t";echo "n";echo "张三"."t"; echo "25"."t"; echo "本科"."t"; >如运橡果你一定要输入xls标准的excel文件可参考下面方法/** * 输出XLS的头信息 * 注:使用此函数前后都不应有任何数据输出

8. php 怎样将 数组导出excel文件

<?php
publicfunctionexcel()
{
//在这里调用你要导出的数据
$data=M('pmproject',"pm_",MYSQL_PSA)->select();
//列名数组
$tableheader=array('ID','标题','内容');

ob_end_clean();
Vendor('PHPExcel.PHPExcel');
//创建对象
$excel=newPHPExcel();
//Excel表格式,这里简略写了8列
$letter=array('A','B','C','D','E','F','F','G');
//填充表头信息
for($i=0;$i<count($tableheader);$i++)
{
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
//填充表格信息
for($i=2;$i<=count($data)+1;$i++)
{
$j=0;
foreach($data[$i-2]as$key=>$value)
{
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}
//创建Excel输入对象
$write=newPHPExcel_Writer_Excel5($excel);
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');
}
?>

9. php导出excel表格

建议你可以使用php里面的csv函数,直接导出为csv格式的文件,这样导出是可以即时导出的,不需考虑溢出问题。如果必须为excel,可以使用phpexcel插件使用,网上有很多说明。
function excelexport(){
$where = 查询条件;
set_time_limit(0);
$name = '数据.csv';
dynamicHeader($name); //设置消息头
$handle = fopen('php://output', 'ab');
$fieldname = array('**','**','**'); //表格标题
foreach($fieldname as &$hd){
$hd = mb_convert_encoding($hd, 'GBK', 'UTF-8');
}
fputcsv($handle, $fieldname);
$count = D('Kkk')->getcount($where); //获取数据量
$limit = 100;
$times = ceil($count / $limit);
for($i = 0; $i < $times; $i++) {
$dataresult = array();
$offset = $i * $limit;
$dataresult = D('Kkk')->getpageUsers($where,$offset,$limit); //分配获取数据
if ($i == 10) {
ob_flush();
flush();
}
foreach($dataresult as $row) {
//兼容用excel打开时不乱码
foreach($row as &$val){
//$val = mb_convert_encoding($val, 'GBK', 'UTF-8');
$val = iconv('UTF-8', 'GBK//IGNORE', $val);
}
fputcsv($handle, $row);
}
}
fclose($handle);
}

有问题可以私聊

10. 通过table标签,PHP输出EXCEL的实现方法

以下是利用table标签 对PHP输出EXCEL的实现代码进行了介绍 需要的朋友可以过来参考下

关键代码

复制代码 代码如下: <?php header("Content type:application/vnd ms excel"); header("Conten Disposition:filename=hp xlsx"); ?>

第一句是用来声明文件内容的格式 第二局是用来修改文件名的 如果没有第二个语句的话 生成的文件将是没有后缀名的 实现代码

复制代码 代码如下: <meta equiv="Content Type" content="text/; charset=utf " /> <?php header("Content type:application/vnd ms excel"); header("Conten Disposition:filename=hp xlsx"); ?> <table width= border= > <tr> <正巧td colspan=" " align=center>i love you</td> </tr> <tr> <td>编号</td> <td>姓名</td> <td>年龄</td> </tr> <tr> <td> </td> <td>test</td> <td> </td> </tr> <tr> <td> </td> <td>test </td> <td> </td> </tr> </table>

当然 我们很自然的想到了 是否可以把数据库的内容也通过这种方式输出到表格呢? 答案是可以的 实现代码

复制代码 代码如下: <meta equiv="Content Type" content="text/; charset=gbk" /> <?php header("Content type:application/vnd ms excel"); header("Content Disposition:filename=qianshou xls"); mysql_connect("localhost" "root" ""); mysql_select_db("test"); mysql_query("SET NAMES GBK"); $query="select * from city "; $r=mysql_query($query); ?> <table width= border= > <tr> <td colspan=" " align=center>城市列表<悄磨/td> </tr> <tr> <td align=center>id</td> <td align=center>p_id</td> <td align=center>name</td> </tr> <?php while($row=mysql_fetch_assoc($r)){ ?> <tr> <td><?php echo $row[id] ?></td> <td><?php echo $row[p_id] ?></td>启清斗 <td><?php echo $row[c_name]?></td> </tr> <?php } ?> </table> lishixin/Article/program/PHP/201311/20901

阅读全文

与php数组生成excel相关的资料

热点内容
苹果笔记本t2加密芯片怎么打开 浏览:796
安卓如何把手机投屏至电视 浏览:737
方舟编译器现在可提速哪些软件 浏览:58
微信加密为什么是黑屏 浏览:473
android去电状态 浏览:602
苹果13如何加密视频 浏览:813
linuxweblogic缓存 浏览:67
云服务器不同地域 浏览:946
python闹钟怎么打 浏览:686
虚拟主机服务器有什么区别 浏览:833
算法与程序的奥秘章节检测 浏览:377
找pdf 浏览:530
与服务器连接断开如何处理 浏览:833
服务器维修预计十分钟什么意思 浏览:170
黑马程序员主打教学是什么 浏览:41
python九乘法表怎么编写 浏览:974
思维方式pdf 浏览:656
tcc社区app怎么注册 浏览:941
央视网下载加密 浏览:455
命令行访问服务器 浏览:37