国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) php教程 php 操作excel文件的方法小結(jié)_PHP教程

php 操作excel文件的方法小結(jié)_PHP教程

Jul 21, 2016 pm 03:41 PM
com excel php 代碼 復(fù)制 操作 文件 方法 生成

一、php,不用COM,生成excel文件

復(fù)制代碼 代碼如下:


header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?>

  在php環(huán)境運行上面的代碼,大家就可以看到瀏覽器詢問用戶是否下載excel文檔,點擊保存,硬盤上就多了一個excel的文件,使用excel打開就會看到最終的結(jié)果,怎么樣不錯吧。
  其實在做真正的應(yīng)用的時候,大家可以將數(shù)據(jù)從數(shù)據(jù)庫中取出,然后按照每一列數(shù)據(jù)結(jié)束后加\t,每一行數(shù)據(jù)結(jié)束后加\n的方法echo出來,在php的開頭用header("Content-type:application/vnd.ms-excel");表示輸出的是excel文件,用header("Content-Disposition:filename=test.xls");表示輸出的文件名為text.xls。這樣就ok了。
  我們更可以修改header讓他輸出更多格式的文件,這樣php在處理各種類型文件方面就更加方便了.
二、用PHP將mysql數(shù)據(jù)表轉(zhuǎn)換為excel文件格式
復(fù)制代碼 代碼如下:

$DB_Server = "localhost";
$DB_Username = "mydowns";
$DB_Password = "";
$DB_DBName = "mydowns";
$DB_TBLName = "user";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password)
or die("Couldn@#t connect.");
$Db = @mysql_select_db($DB_DBName, $Connect)
or die("Couldn@#t select database.");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type");
header("Content-Disposition: attachment; filename=mydowns.$file_ending");
header("Pragma: no-cache");
header("Expires: 0");
$now_date = date(@#Y-m-d H:i@#);
$title = "數(shù)據(jù)庫名:$DB_DBName,數(shù)據(jù)表:$DB_TBLName,備份日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect)
or die("Couldn@#t select database");
$result = @mysql_query($sql,$Connect)
or die(mysql_error());
echo("$title\n");
$sep = "\t";
for ($i = 0; $i echo mysql_field_name($result,$i) . "\t";
}
print("\n");
$i = 0;
while($row = mysql_fetch_row($result))
{
$schema_insert = "";
for($j=0; $j{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
$i++;
}
return (true);
?>

三、PHP操作excel的一個例子(用COM對象生成excel)
這是對于那些只喜歡簡單處理一下excel朋友來說的
復(fù)制代碼 代碼如下:

//定義一個excel文件
$workbook = "C:/My Documents/test.xls";
$sheet = "Sheet1";
//生成一個com對象$ex
$ex = new COM("Excel.sheet") or Die ("連不上!?。?);
//打開一個excel文件
$book = $ex->application->Workbooks->Open($workbook) or Die ("打不開?。?!");
$sheets = $book->Worksheets($sheet);
$sheets->activate;
//獲取一個單元格
$cell = $sheets->Cells(5,5);
$cell->activate;
//給該單元格賦值
$cell->value = 999;
//保存為另一文件newtest.xls
$ex->Application->ActiveWorkbook->SaveAs("newtest.xls");
//關(guān)掉excel,如果想看效果,則注釋掉下面兩行,由用戶手動關(guān)掉excel
$ex->Application->ActiveWorkbook->Close("False");
unset ($ex);
?>

四、php生成EXCEL的東東
可以通過PHP來產(chǎn)生EXCEL檔。
----------------------------
Excel Functions
----------------------------
將下面的代碼存為excel.php ,然后在頁面中包括進來
然后調(diào)用
1. Call xlsBOF()
2. 將一些內(nèi)容寫入到xlswritenunber() 或者 xlswritelabel()中.
3.然后調(diào)用 Call xlsEOF()
也可以用 fwrite 函數(shù)直接寫到服務(wù)器上,而不是用echo 僅僅在瀏覽器上顯示。
復(fù)制代碼 代碼如下:

// ----- begin of function library -----
// Excel begin of file header
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Excel end of file footer
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
// Function to write a Number (double) into Row, Col
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// Function to write a label (text) into Row, Col
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
// ----- end of function library -----
?>
//
// To display the contents directly in a MIME compatible browser
// add the following lines on TOP of your PHP file:
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header (@#Content-type: application/x-msexcel@#);
header ("Content-Disposition: attachment; filename=EmplList.xls" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
//
// the next lines demonstrate the generation of the Excel stream
//
xlsBOF(); // begin Excel stream
xlsWriteLabel(0,0,"This is a label"); // write a label in A1, use for dates too
xlsWriteNumber(0,1,9999); // write a number B1
xlsEOF(); // close the stream
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/321054.htmlTechArticle一、php,不用COM,生成excel文件 復(fù)制代碼 代碼如下: ? header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1...
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
超越燈堆:PHP在現(xiàn)代企業(yè)體系結(jié)構(gòu)中的作用 超越燈堆:PHP在現(xiàn)代企業(yè)體系結(jié)構(gòu)中的作用 Jul 27, 2025 am 04:31 AM

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

PHP中的對象關(guān)聯(lián)映射(ORM)性能調(diào)整 PHP中的對象關(guān)聯(lián)映射(ORM)性能調(diào)整 Jul 29, 2025 am 05:00 AM

避免N 1查詢問題,通過提前加載關(guān)聯(lián)數(shù)據(jù)來減少數(shù)據(jù)庫查詢次數(shù);2.僅選擇所需字段,避免加載完整實體以節(jié)省內(nèi)存和帶寬;3.合理使用緩存策略,如Doctrine的二級緩存或Redis緩存高頻查詢結(jié)果;4.優(yōu)化實體生命周期,定期調(diào)用clear()釋放內(nèi)存以防止內(nèi)存溢出;5.確保數(shù)據(jù)庫索引存在并分析生成的SQL語句以避免低效查詢;6.在無需跟蹤變更的場景下禁用自動變更跟蹤,改用數(shù)組或輕量模式提升性能。正確使用ORM需結(jié)合SQL監(jiān)控、緩存、批量處理和適當(dāng)優(yōu)化,在保持開發(fā)效率的同時確保應(yīng)用性能。

用PHP和RabbitMQ建造彈性微服務(wù) 用PHP和RabbitMQ建造彈性微服務(wù) Jul 27, 2025 am 04:32 AM

要構(gòu)建彈性的PHP微服務(wù),需使用RabbitMQ實現(xiàn)異步通信,1.通過消息隊列解耦服務(wù),避免級聯(lián)故障;2.配置持久化隊列、持久化消息、發(fā)布確認(rèn)和手動ACK以確??煽啃?;3.使用指數(shù)退避重試、TTL和死信隊列安全處理失?。?.通過supervisord等工具守護消費者進程并啟用心跳機制保障服務(wù)健康;最終實現(xiàn)系統(tǒng)在故障中持續(xù)運作的能力。

python run shell命令示例 python run shell命令示例 Jul 26, 2025 am 07:50 AM

使用subprocess.run()可安全執(zhí)行shell命令并捕獲輸出,推薦以列表傳參避免注入風(fēng)險;2.需要shell特性時可設(shè)shell=True,但需警惕命令注入;3.使用subprocess.Popen可實現(xiàn)實時輸出處理;4.設(shè)置check=True可在命令失敗時拋出異常;5.簡單場景可直接鏈?zhǔn)秸{(diào)用獲取輸出;日常應(yīng)優(yōu)先使用subprocess.run(),避免使用os.system()或已棄用模塊,以上方法覆蓋了Python中執(zhí)行shell命令的核心用法。

為PHP創(chuàng)建準(zhǔn)備生產(chǎn)的Docker環(huán)境 為PHP創(chuàng)建準(zhǔn)備生產(chǎn)的Docker環(huán)境 Jul 27, 2025 am 04:32 AM

使用正確的PHP基礎(chǔ)鏡像并配置安全、性能優(yōu)化的Docker環(huán)境是實現(xiàn)生產(chǎn)就緒的關(guān)鍵。1.選用php:8.3-fpm-alpine作為基礎(chǔ)鏡像以減少攻擊面并提升性能;2.通過自定義php.ini禁用危險函數(shù)、關(guān)閉錯誤顯示并啟用Opcache及JIT以增強安全與性能;3.使用Nginx作為反向代理,限制訪問敏感文件并正確轉(zhuǎn)發(fā)PHP請求至PHP-FPM;4.采用多階段構(gòu)建優(yōu)化鏡像,移除開發(fā)依賴,設(shè)置非root用戶運行容器;5.可選Supervisord管理多個進程如cron;6.部署前驗證無敏感信息泄

VSCODE設(shè)置。JSON位置 VSCODE設(shè)置。JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位于用戶級或工作區(qū)級路徑,用于自定義VSCode設(shè)置。1.用戶級路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級路徑:項目根目錄下的.vscode/settings

深入了解PHP的內(nèi)部垃圾收集機制 深入了解PHP的內(nèi)部垃圾收集機制 Jul 28, 2025 am 04:44 AM

PHP的垃圾回收機制基于引用計數(shù),但循環(huán)引用需靠周期性運行的循環(huán)垃圾回收器處理;1.引用計數(shù)在變量無引用時立即釋放內(nèi)存;2.循環(huán)引用導(dǎo)致內(nèi)存無法自動釋放,需依賴GC檢測并清理;3.GC在“可能根”zval達閾值或手動調(diào)用gc_collect_cycles()時觸發(fā);4.長期運行的PHP應(yīng)用應(yīng)監(jiān)控gc_status()、適時調(diào)用gc_collect_cycles()以避免內(nèi)存泄漏;5.最佳實踐包括避免循環(huán)引用、使用gc_disable()優(yōu)化性能關(guān)鍵區(qū)及通過ORM的clear()方法解引用對象,最

無服務(wù)器革命:使用BREF部署可擴展的PHP應(yīng)用程序 無服務(wù)器革命:使用BREF部署可擴展的PHP應(yīng)用程序 Jul 28, 2025 am 04:39 AM

Bref使PHP開發(fā)者能無需管理服務(wù)器即可構(gòu)建可擴展、成本高效的應(yīng)用。1.Bref通過提供優(yōu)化的PHP運行時層,將PHP帶入AWSLambda,支持PHP8.3等版本,并與Laravel、Symfony等框架無縫集成;2.部署步驟包括:使用Composer安裝Bref,配置serverless.yml定義函數(shù)和事件,如HTTP端點和Artisan命令;3.執(zhí)行serverlessdeploy命令即可完成部署,自動配置APIGateway并生成訪問URL;4.針對Lambda限制,Bref提供解決

See all articles