十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用table/table就可以了啊,然后用PHP的逐条输出数据语句相结合,你图太小,根本看不清,不过道理就是这么个道理的
目前创新互联建站已为超过千家的企业提供了网站建设、域名、雅安服务器托管、网站改版维护、企业网站设计、翠屏网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
在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
讲的复杂了啊!
你先在一个完整版的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']);
}
}
如果将数据导出成excel,需要用到PHPExcel,这个可以百度一下。
要实现这个功能,代码是比较多的,下面是我的代码,肯定不能兼容你的,需要修改。
if ($_POST["outputExcelBtn"]){
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : 'br /');
require_once 'PHPExcel/Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel-getProperties()-setCreator("CG")
-setLastModifiedBy("CG")
-setTitle("CG")
-setSubject("CG")
-setDescription("CG")
-setKeywords("CG")
-setCategory("CG");
$objPHPExcel-getDefaultStyle()-getFont()-setName('Arial')
-setSize(10);
$objPHPExcel-getActiveSheet()-setCellValue('A1', '编号')
-setCellValue('B1', '产品名字')
-setCellValue('C1', '产品属性')
-setCellValue('D1', '添加日期')
;
$objPHPExcel-getActiveSheet()-getColumnDimension('A')-setWidth(15);
$objPHPExcel-getActiveSheet()-getColumnDimension('B')-setWidth(30);
$objPHPExcel-getActiveSheet()-getColumnDimension('C')-setWidth(25);
$objPHPExcel-getActiveSheet()-getColumnDimension('D')-setWidth(15);
$i=2;
while ($f=$rs-movenext()){//这里是查询数据的代码,请用你自己的(本程序由[且听风吟福利吧3tii.com]提供)
$objPHPExcel-getActiveSheet()-setCellValue('A'.$i, $f["p_num"])
-setCellValue('B'.$i, $f["p_name"])
-setCellValue('C'.$i, $f["p_pra"])
-setCellValue('D'.$i, date('Y-m-d',$f["p_date"]))
;
$objPHPExcel-getActiveSheet()-getStyle('A'.$i.':D'.$i)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$i++;
}
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getFont()-setBold(true);
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getAlignment()-setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//上下对齐
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //左右对齐
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getFill()-setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getFill()-getStartColor()-setARGB('FF808080');
$objPHPExcel-getActiveSheet()-setTitle('产品表');//重命名工作表
$objPHPExcel-setActiveSheetIndex(0);//设置打开excel时显示的工作表
$callStartTime = microtime(true);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$filename='PDT'.(date('Y-m-d'));
$objWriter-save(PATH_CREATE.iconv('utf-8','gb2312',$filename).'.xls');
$objPHPExcel = PHPExcel_IOFactory::load(PATH_CREATE.iconv('utf-8','gb2312',$filename).'.xls');
$notice='导出Excel成功,文件名为span class="red"'.$filename.'.xls/span,a href="'.$filename.'.xls"【点此下载】/a';
}
因为你说的需要有一个按钮触发事件,所以outputExcelBtn就是按钮名字
input type="submit" name="outputExcelBtn" value="导出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程序没有问题是你的SQL语句
写的有问题,它的意思是找出book表中作者为空的所有记录,
你的book表中没有作者为空的记录,所以没有输出数据,把book表中的author列的数据,一部分改成空,就有数据输出了.
或者把SQL语句的"WHERE author=''"去掉也行.