php数据导出知识点 php数据导出到excel

PHP怎样将查询出来的数据导出成excel表格?根据下列编码程序可以 。
1./*** 批量导出数据* @param $arr 从数据库查询出来,即要导出的数据*$name excel表歌名*/
2.function expExcel($arr,$name){ require_once 'PHPExcel.php';
3. //实例化 $objPHPExcel = new PHPExcel(); /*右键属性所显示的信息*/
4.$objPHPExcel-getProperties()-setCreator("zxf")// -setLastModifiedBy("zxf")//最后一-setTitle('数据EXCEL导出')//标题-setSubject('数据EXCEL导出') //主题setDescription('导出数据')//描setKeywords("excel")//标记setCategory("result file");//类别
5. //设置当前的表格$objPHPExcel-setActiveSheetIndex(0);// 设置表格第一行显示内容$objPHPExcel-getActiveSheet()-setCellValue('A1', '业主姓名') -setCellValue('B1', '密码')-setCellValue('C1', '手机号码'-setCellValue('D1', '地址')
6.//设置第一行为红色字体 -getStyle('A1:D1')-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_RED);$key = 1; /*以下就是对处理Excel里的数据 。
如何使用PHP导出csv和excel文件(一)phpexcel文件导出:
步骤1,引入文件require APPPATH.'/libraries/PHPExcel.PHP';
步骤2,实例化PHPEXCEL对象 $objPHPExcel=new PHPExcel();
步骤3,设置表头$column = array('A','B','C');$line = array('词语','频次','词性');
//填充表头信息
for($i = 0;$icount($tableheader_all);$i) {
$objPHPExcel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第“1”行第“$i”列
}
步骤4, 填充数据
for ($i = 2;$i = count($data)1;$i) {//因为内容是从第二行开始的,所以i=2表示从第二行开始填充数据
$j = 0;
foreach ($tmp as $key=$val ){
$objPHPExcel-getActiveSheet()-setCellValue("$letter[$j]$i",$data[$i-2][$val]); //数据是从第一条开始但是i的初值是2所以想从第一条开始应该是$data[$i-2]开始
$j;
}
}
步骤5,写进excel中并输出
$write = new PHPExcel_Writer_Excel5($objPHPExcel);
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="数据导出_词云图.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
(一)CSV文件导出:
csv文件导出最令人头疼的问题就是编码问题,现在分享一下我的经验
首先看服务器是Linux的还是windows的 如果是windows的服务器那么编码问题只能借助于mb_convert_encoding()或者是iconv两个函数相互转换中文编码
如果服务器是linux的那么很简单utf-8: setlocale(LC_ALL, ‘en_US.UTF-8′); 简体中文:setlocale(LC_ALL, ‘zh_CN');
下面来说csv导出步骤:
$result = mysql_query("select * from student order by id asc");
$str = "姓名,性别,年龄\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name = iconv('utf-8','gb2312',$row['name']); //中文转码
$sex = iconv('utf-8','gb2312',$row['sex']);
$str .= $name.",".$sex.",".$row['age']."\n"; //用引文逗号分开
}
$filename = date('Ymd').'.csv'; //设置文件名
export_csv($filename,$str); //导出
要将数据导出到本地即下载,需要修改header信息,代码如下:
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
}
如何用php导出导入大数据库在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据 。很多时候都是由于文件过大 , 从本地浏览上传导入,容易中断失败,有没有更好的方法呢?
方法:
在phpMyAdmin的目录下,找到根目录的config.inc.php文件,
打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile 。
在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,
把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,
登入phpMyAdmin , 选择需要导入的数据,点击导航条上面的“导入”按钮,
选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,
最后点击“执行”,即可导入成功 。
注意事项
【php数据导出知识点 php数据导出到excel】如果在config.inc.php文件 , 没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可 。
php怎么导出大量数据的Excelphp导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包解决 。
方案是:假如我们数据库有10w条数据 , 每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可 , 一定要分页去查询 。
原因:主要是数据库性能和写文件性能 。分页查询可以解决数据库压力php数据导出知识点的问题, 生成多个文件可以解决单个文件太大,后期维护Excel文件的问题 。
要注意的:
1. 在导出逻辑文件开头,一定要声明 set_time_limit(0),防止脚本超时;
2. 每个文件生成后,适当的sleep一下 , 让程序休息一下下;
3. 因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;
下面是我实际工作中 , 写的一个php导出大量数据到Excel的代码 , php数据导出知识点你可以参考一下:
php数据导出知识点的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据导出到excel、php数据导出知识点的信息别忘了在本站进行查找喔 。

    推荐阅读