讲的复杂了啊!
创新互联是专业的朝阳网站建设公司,朝阳接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行朝阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
你先在一个完整版的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 ($numrows0)
{
$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']);
}
}
与SQL无关,怎么ORDER BY都没关系,下面的语句都是适用的:
$i=0;//已经输出的数据个数
echo 'table';
while($title =mysql_fetch_row($titles))
{
//第一个地方………………下面的4表示每行显示四个
if ($i % 4==0) echo 'tr';
$ddd=$title[2];
//第二个地方………………
$i++;
echo "td a href=\"$title[1]\" target=\"_blank\"$ddd/a/td";
//这里无需处理……………………
}
在php开发过程中,对于大量的数据考虑用表格输出的时候可以用得到,代码如下:
html
head
title二行5列一共10个数据/title
/head
body
table border="1" width=80%
tr
?php
$num = 5; //当前每一行显示列数
$k = 1; //初始化
while($k=10)
{
if($k % $num == 0){
if($k==10){
echo 'td'.$k.'/td/tr'."\r\n";
}else{
echo 'td'.$k.'/td/trtr'."\r\n";
}
}
else {
echo 'td'.$k.'/td'."\r\n";
}
$k+=1; //自加
}
?
/table
/body
/html
下面是从数据库读取代码:
?php
$sql = "select * from table ";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
for($i=0;$i $num;$i++) {
$result = mysql_fetch_array($query);
if($i%3==0){
$str.= " tr style= 'word-break:break-all ' ";
}
$str.= " td ".$result[ "title "]. " /td ";
if(($i+1)%$num==0) {
$str.= " /tr ";
}
}
?
table border=0
?
echo $str;
?
/table
用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;
}