⑴ php导出数据表到excel
在导出的数据前面添加英文单引号就可以了,也就是修改下面的语句:
elseif ($row[$i] != "")
$data .= "$row[$i]".$sep;
修改为:
elseif ($row[$i] != "")
$data .= "'$row[$i]".$sep;
注意我的单引号是添加在$row的$之前的。
⑵ 怎么用php把查询出来的文件导出成excel表格的形式
用PHP EXCEL插件吧。
class ExcelToArrary extends Service{
public function __construct() {
/*导入phpExcel核心类 注意 :你的路径跟我不一样就不能直接复制*/
include_once('./Excel/PHPExcel.php');
}
/* 导出excel函数*/
public function push($data,$name='Excel'){
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
$objPHPExcel = new PHPExcel();
/*以下是一些设置 ,什么作者 标题啊之类的*/
$objPHPExcel->getProperties()->setCreator("转弯的阳光")
->setLastModifiedBy("转弯的阳光")
->setTitle("数据EXCEL导出")
->setSubject("数据EXCEL导出")
->setDescription("备份数据")
->setKeywords("excel")
->setCategory("result file");
/*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
foreach($data as $k => $v){
$num=$k+1;
$objPHPExcel->setActiveSheetIndex(0)
//Excel的第A列,uid是你查出数组的键值,下面以此类推
->setCellValue('A'.$num, $v['uid'])
->setCellValue('B'.$num, $v['email'])
->setCellValue('C'.$num, $v['password'])
}
$objPHPExcel->getActiveSheet()->setTitle('User');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$name.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
⑶ php怎么导出大量数据的Excel
php导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包雀闹迹解决。
方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。弯启
原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力的问题,生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。
要注意的:
1.在导出逻辑文件开头,一定要声明set_time_limit(0),防止脚本超时;
2.每个文件生成后,适当的sleep一下,让程序休息一下下;
3.因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉顷并生成的Excel文件,节省服务器存储空间;
下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:
⑷ php 怎么把数据导出到excel表格
昨天项目里有个新需求,客户希望把一些数据能导出成为Excel表格,刚开始用PHP原生输入Excel表格,发现效果不是很理想,于是找到一个比较着名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。
网页链接
⑸ PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)
导出,一般是在页面增加一个导出按钮,然后点击跳转到另外一个页面来实现导出的逻辑,在PHP中使用的框架通常是 PHPExcel ,官方的文档很详细,但是缺乏实用的DEMO。
近期项目正好接触了同样的需求,现已总结并将可用的代码分享出来了。希望能够帮助更多的人。
网页链接
⑹ PHP导出100万数据到excel
php导出数据excel有专门的库,当导出少量数据的时候速度很快,但是当数据量大的时候就会存在服务器内存不够之类的。
所以在导出大量数据的时候就应该分页查询数据,避免服务器宕机。正好PHP提供了fputcsv函数可以将数据写入到csv文件中。
这样我们就可以使用PHP对数据进行分页查询,再写入到csv文件中。
⑺ PHP如何导入导出Excel
最近在PHP培训学习过程中,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统。就趁机对这个研究了一番,下面进行一些总结。虽然我们在平时用的也有一些,但没有作者列出来的全,写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了。但是在读的时候,只用过一种,具体是什么忘了,要回去翻代码了。
基本上导出的文件分为两种:
1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。优点:简单。缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:$yourStr = mb_convert_encoding(”gb2312″, “UTF-8″, $yourStr);
下面详细列举几种方法。
1:利用smarty,生成符合Excel规范的XML或HTML文件支持格式,非常完美的导出方案。不过导出来的的本质上还是XML文件,如果用来导入就需要另外处理了。详细内容请见rardge大侠的帖子:http://bbs.chinaunix.net/viewthread.php?tid=745757
需要注意的是如果导出的表格行数不确定时,最好在模板中把”ss:ExpandedColumnCount=”5″ ss:ExpandedRowCount=”21″”之类的东西删掉。
2、利用pack函数打印出模拟Excel格式的断句符号,这种更接近于Excel标准格式,用office2003修改后保存,还不会弹出提示,推荐用这种方法。缺点是无格式。
PHP代码<?php // Send Header 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/octet-stream”); header(”Content-Type: application/download”);; header(”Content-Disposition: attachment;filename=test.xls “); header(”Content-Transfer-Encoding: binary “); // XLS Data Cell xlsBOF(); xlsWriteLabel(1,0,”My excel line one”); xlsWriteLabel(2,0,”My excel line two : “); xlsWriteLabel(2,1,”Hello everybody”); xlsEOF(); function xlsBOF() { echo pack(”ssssss”, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0); return; } function xlsEOF() { echo pack(”ss”, 0×0A, 0×00); return; } function xlsWriteNumber($Row, $Col, $Value) { echo pack(”sssss”, 0×203, 14, $Row, $Col, 0×0); echo pack(”d”, $Value); return; } function xlsWriteLabel($Row, $Col, $Value ) { $L = strlen($Value); echo pack(”ssssss”, 0×204, 8 + $L, $Row, $Col, 0×0, $L); echo $Value; return; } ?> 不过笔者在64位linux系统中使用时失败了,断句符号全部变成了乱码。
3、使用制表符、换行符的方法 制表符”\t”用户分割同一行中的列,换行符”\t\n”可以开启下一行。 <?php header(”Content-Type: application/vnd.ms-execl”); header(”Content-Disposition: attachment; filename=myExcel.xls”); header(”Pragma: no-cache”); header(”Expires: 0″); /*first line*/ echo “hello”.”\t”; echo “world”.”\t”; echo “\t\n”; /*start of second line*/ echo “this is second line”.”\t”; echo “Hi,pretty girl”.”\t”; echo “\t\n”;
⑻ 请问php怎样实现将查询的数据导出到excel用php代码如何写呢
PHP
怎么样念贺导出到EXCEL的代码,可以如下写法,如果帮到你的话,请采纳我的答案:
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//输出内容如下:
echo
"姓名"."\t";
echo
"年龄"."\t";
echo
"学历"."\t";
echo
"\n";
echo
"段饥张三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?>
上面输出的内容,你可以从数据库上调用出握高返来。
⑼ php 把数据库中的数据 输出到 Excel
方法一:
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
$tx='表头';
echo
$tx."\n\n";
//输出内容如下:
echo
"姓名"."\t";
echo
"年龄"."\t";
echo
"学历"."\t";
echo
"\n";
echo
"张三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?>
方法二:
PHPEXCEL
类库,功能强大,支持win
Excel2003
,Win
Excel2007.下载类库,里边有例子