新聞中心
php導出excel表、壓縮成文件下載到本地如何實現(xiàn)?
你好!你所提出的三個問題.我沒怎麼看懂.如果以第二個為主.我倒可以說說我的看法.
十載的諸城網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整諸城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“諸城網(wǎng)站設計”,“諸城網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
一.如何把數(shù)據(jù)賦到excel中?
答:sorry.沒怎麼明白.見諒.
二.導出為excel表?
答:有兩種方法實現(xiàn).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詳細內(nèi)容
/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 如何把文件夾及文件夾下面的所有文件打包成壓縮包,在頁面上用戶點擊下載按鈕即可下載到本地?
一般不會下載的時候重新打包,因為php打包是一個非常消耗資源的過程。
使用php zip 打包,然后記錄包的路徑,下載的時候直接下載該路徑文件即可。
php導出excel表后,打包成壓縮包,然后下載到本地如何實現(xiàn)?
用PHPExcel,PHPExcel是相當強大的 MS Office Excel 文檔生成類庫。
你上它的官/網(wǎng)把程序包下/載下來,里面有 PHPExcel 的程序、還有30個實例程序和三個文檔。
看一下其中的開發(fā)文檔你就會用了。
讀取(這段在開發(fā)文檔里有的,在13頁):
require_once '../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader-setReadDataOnly(true);
$objPHPExcel = $objReader-load("test.xlsx");
$objWorksheet = $objPHPExcel-getActiveSheet();
echo 'table' . "\n";
foreach ($objWorksheet-getRowIterator() as $row) {
echo 'tr' . "\n";
$cellIterator = $row-getCellIterator();
$cellIterator-setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo 'td' . $cell-getValue() . '/td' . "\n";
}
echo '/tr' . "\n";
}
echo '/table' . "\n";
?
php如何實現(xiàn)兩個文件先壓縮成一個壓縮包然后下載
$filename?=?"./"?.?date?(?'YmdH'?)?.?".zip";?//?最終生成的文件名(含路徑)
//?生成文件
$zip?=?new?ZipArchive?();?//?使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if?($zip-open?(?$filename,?ZIPARCHIVE::CREATE?)?!==?TRUE)?{
exit?(?'無法打開文件,或者文件創(chuàng)建失敗'?);
}
//$fileNameArr?就是一個存儲文件路徑的數(shù)組?比如?array('/a/1.jpg,/a/2.jpg....');
foreach?(?$fileNameArr?as?$val?)?{
$zip-addFile?(?$val,?basename?(?$val?)?);?//?第二個參數(shù)是放在壓縮包中的文件名稱,如果文件可能會有重復,就需要注意一下
}
$zip-close?();?//?關閉
//下面是輸出下載;
header?(?"Cache-Control:?max-age=0"?);
header?(?"Content-Description:?File?Transfer"?);
header?(?'Content-disposition:?attachment;?filename='?.?basename?(?$filename?)?);?//?文件名
header?(?"Content-Type:?application/zip"?);?//?zip格式的
header?(?"Content-Transfer-Encoding:?binary"?);?//?告訴瀏覽器,這是二進制文件
header?(?'Content-Length:?'?.?filesize?(?$filename?)?);?//?告訴瀏覽器,文件大小
@readfile?(?$filename?);//輸出文件;
網(wǎng)站題目:php壓縮數(shù)據(jù)后下載,下載文件變成php怎么解決
網(wǎng)站地址:http://www.ef60e0e.cn/article/dsgsshp.html