php 导出excel 表格内换行问题!!!!
\r\n 和 chr(10) . chr(13) 都是可以的,看起来只增加了一个空格的占位符,这是因为没有设置单元格的自动换行属性,也就是说不允许单元格内容换行,所以换行字符显示为空格。
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导出网上找个插件。
但是如果excel或者wps是新版的,可以导出为csv,php内置有此方法函数。
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时,因数据比较多,经常导出不完整就结束了
设置超时
在服务器上设可以,在当前文件写代码也可以
服务器上找php安装目录下的php.ini
找到max_execution_time这句值改为你想要的时间,或者该为0表示无时间限制
如果前文件写代码
那就在网页最顶端写这条php代码
set_time_limit (0);
括号内的参数是数字,写上你想要的时间,比如100就是100秒
0表示无时间限制
php 怎样将 数组导出excel文件
public function excel()
{
//在这里调用你要导出据
$data = M('pmproject',"pm_",MYSQL_PSA)->select();
//列名数组
$tableheader = array('ID', '标题', '内容');
ob_end_clean();
Vendor('PHPExcel.PHPExcel');
//创建对象
$excel = new \PHPExcel();
//Excel表格式,这里写了8列
$letter = array('A', 'B', 'C', 'D', 'E', 'F', 'F', 'G');
//填充表头信
for ($i = 0; $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 = new \PHPExcel_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');
}
?>
php 怎么把数据导出到excel表格
昨天项目里有个新需求,希望把一些数导出成为Excel表格,刚开始用PHP原生输入Excel,发现效果不是很理想,于是找到一个比较著名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。
网页链接
怎么将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写入 希望能帮到你,我还要抓紧时间自己在后盾人自己学习呢,一起加油吧(「・ω・)「嘿