php导出大量数据Excel的具体操作步骤如下:
成都创新互联公司网站建设服务商,为中小企业提供成都网站设计、成都网站建设服务,网站设计,绵阳服务器托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出成都创新互联公司。
1、使用phpstudy搭建一个测试平台,直接访问数据库。
2、下载的phpcms安装包拷贝到IIS目录,开通访问,即可搭建成功。
3、登录网站后台,系统权限,文件目录以及数据库等功能,进行管理。
4、在phpcms后台,扩展,数据库工具,数据库导出,程序池选择phpcmsv9,开始备份数据。
5、打开IIS网站目录,在D:\wwwroot\kmxy\wwwroot\caches\bakup\default文件夹,查看导出的数据库文件。
6、登录phpmyadmin,选择数据库导出,选择Excel格式,即可导出。
如果对格式没有要求的话可以用file_put_contens;
如果一定要用excel的话,就把字符集编码调整一下,最好是GBK之类的
web程序是你不发请求,服务器就不回复
要实现你要的效果,需要服务器有巨大的承压能力
实现方法
1,在服务器端,编写代码,规定多少时间执行一次刷新
2,在客户端,使用ajax,异步请求数据
3,在服务器段编写监听程序,比第一种略好一点。。。
建议第2和第3种,但都对服务器要求比较高
你好!你所提出的三个问题.我没怎麼看懂.如果以第二个为主.我倒可以说说我的看法.
一.如何把数据赋到excel中?
答:sorry.没怎麼明白.见谅.
二.导出为excel表?
答:有两种方法实现.1.phpexcel.(稍显复杂)
2.简单的(我讲这个.简单^_^)直接上代码.自己改一下名字
和字段名.就成.
?php
error_reporting(0);
//屏蔽警告和NOTICE等所有提示.包括error
Header(
"Content-type:
application/octet-stream
");
Header(
"Accept-Ranges:
bytes
");
Header(
"Content-type:application/vnd.ms-excel;charset=Big5");
//此处写编码,如,UTF-8....
Header(
"Content-Disposition:attachment;filename=abnormal_Report.xls
");
//自己写文件名
*.xls
require
"conn_mysql.php";
//连接mysql
$sql
=
"select
*
from
`netart`.`abnormal_records`
order
by
record_abtime
desc";
$result
=
mysql_query($sql,$conn);
echo
"table
width='100%'
border='1'
";
echo"tr";
echo
"td
style='color:red'
font
size=4
ID
/font/td";
echo
"td
style='color:red'
font
size=4异常时间
/font/td";
echo
"td
style='color:red'
font
size=4异常地点
/font/td";
echo
"td
style='color:red'
font
size=4详细内容
/font/td";
echo
"td
style='color:red'
font
size=4提交人
/font/td";
echo
"td
style='color:red'
font
size=4提交时间
/font
/td";
echo
"/tr";
while
($rs=mysql_fetch_array($result)){
echo
"tr";
echo
"td
width='30'
{$rs['record_id']}/td";
//用width
控制表格的宽度.自己改变.
echo
"td
width='150'
{$rs['record_abtime']}/td";
echo
"td
width='80'
{$rs['record_abplace']}/td";
echo
"td
width='700'
{$rs['record_content']}
/td";
echo
"td
width='60'
{$rs['record_username']}
/td";
echo
"td
width='120'
{$rs['record_uptime']}
/td";
echo
"/tr";
}
echo
"/tbale";
?
//以上代码.自己去改一下名字.和字段名就可以运行了.
==========================================================================
下面的代码针对MSSQL:(基本跟
Mysql一样啦.只是改用了ODBC)
?php
error_reporting(0);
Header(
"Content-type:
application/octet-stream");
Header(
"Accept-Ranges:
bytes
");
Header(
"Content-type:application/vnd.ms-excel;charset=Big5");
Header(
"Content-Disposition:attachment;filename=Syslog_view.xls
");
require
"conn_mssql.php";
session_start();
$flag1=@$_SESSION['flag_1'];
$flag2=@$_SESSION['flag_2'];
$flag3=@$_SESSION['flag_3'];
$content=@$_SESSION['content'];
$ip=@$_SESSION['ip'];
$content_2=@$_SESSION['content_2'];
$ip_2=@$_SESSION['ip_2'];
$time=@$_SESSION['time'];
if($flag1==1)
{
$sql_s="select
SysLog.DateTime,SysLog.IP,SysLog.Message
from
NetPerfMon.dbo.SysLog
where
IP='$ip'
and
convert(varchar(10),DateTime,120)='$time'
order
by
DateTime
desc";}
if($flag2==2)
{
$sql_s="select
SysLog.DateTime,SysLog.IP,SysLog.Message
from
NetPerfMon.dbo.SysLog
where
IP='$ip'
and
convert(varchar(10),DateTime,120)='$time'
order
by
DateTime
desc";}
if($flag3==3)
{$sql_s="select
SysLog.DateTime,SysLog.IP,SysLog.Message
from
NetPerfMon.dbo.SysLog
where
IP='$ip'
and
Message
like
'%$content%'
and
convert(varchar(10),DateTime,120)='$time'
order
by
DateTime
desc";}
$res=odbc_do($link,$sql_s);
echo
"table
width='100%'
border='1'";
echo"tr";
echo
"td
style='color:red'
font
size=4
DateTime
/font/td";
echo
"td
style='color:red'
font
size=4
Switch
IP
/font/td";
echo
"td
style='color:red'
font
size=4
Content/font/td";
echo
"/tr";
while
($rs=odbc_fetch_array($res))
{
echo
"tr";
echo
"td
width='130'
{$rs['DateTime']}/td";
echo
"td
width='110'
{$rs['IP']}/td";
echo
"td
width='800'
{$rs['Message']}/td";
echo
"/tr";
}
echo
"/tbale";
session_stop();
?
三.压缩成文件下载到本地?
答:此处也没怎麼明白.因为,你做个按钮/链接至上面的代码.不就可以保存成excel到本地了..还要做什麼压缩呢.
综:回答完毕.希望能帮到你.
您好,PHP输出数据有四种方式,echo、var_dump、print_r、retrun(这个一般是PHP框架常用)
for($i = 1; $i = 300; $i++ ){
print(" ");
// 这一句话非常关键,cache的结构使得它的内容只有达到一定的大小才能从浏览器里输出
// 换言之,如果cache的内容不达到一定的大小,它是不会在程序执行完毕前输出的。经
// 过测试,我发现这个大小的底限是256个字符长。这意味着cache以后接收的内容都会
// 源源不断的被发送出去。
}
For($j = 1; $j = 20; $j++) {
echo $j."
";
flush(); //这一部会使cache新增的内容被挤出去,显示到浏览器上
sleep(1); //让程序"睡"一秒钟,会让你把效果看得更清楚
}