php 把數據導出到excel表格有多種方法,比如使用 phpExcel 等,以下代碼是直接通過 header 生成 excel 文件的代碼示例:
創新互聯長期為上1000+客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為城陽企業提供專業的成都網站建設、成都網站制作,城陽網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");
$cfg_dbhost?=?'localhost';
$cfg_dbname?=?'testdb';
$cfg_dbuser?=?'root';
$cfg_dbpwd?=?'root';
$cfg_db_language?=?'utf8';
//?END?配置
//鏈接數據庫
$link?=?mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//選擇編碼
mysql_query("set?names?".$cfg_db_language);
//users表
$sql?=?"desc?users";
$res?=?mysql_query($sql);
echo?"tabletr";
//導出表頭(也就是表中擁有的字段)
while($row?=?mysql_fetch_array($res)){
$t_field[]?=?$row['Field'];?//Field中的F要大寫,否則沒有結果
echo?"th".$row['Field']."/th";
}
echo?"/tr";
//導出100條數據
$sql?=?"select?*?from?users?limit?100";
$res?=?mysql_query($sql);
while($row?=?mysql_fetch_array($res)){
echo?"tr";
foreach($t_field?as?$f_key){
echo?"td".$row[$f_key]."/td";
}
echo?"/tr";
}
echo?"/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', 'éàèùaê?????ü???ü?');
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
直接用的我的替換
$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']);
}
}
方法一:
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
$tx='表頭';
echo
$tx."\n\n";
//輸出內容如下:
echo
"姓名"."\t";
echo
"年齡"."\t";
echo
"學歷"."\t";
echo
"\n";
echo
"張三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?
方法二:
PHPEXCEL
類庫,功能強大,支持win
Excel2003
,Win
Excel2007.下載類庫,里邊有例子
根據下列編碼程序可以。
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導出數據excel有專門的庫,當導出少量數據的時候速度很快,但是當數據量大的時候就會存在服務器內存不夠之類的。
所以在導出大量數據的時候就應該分頁查詢數據,避免服務器宕機。正好PHP提供了fputcsv函數可以將數據寫入到csv文件中。
這樣我們就可以使用PHP對數據進行分頁查詢,再寫入到csv文件中。
網站題目:php導出數據到excel,php導出數據到excel表格
URL分享:http://m.kartarina.com/article22/heiijc.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、品牌網站制作、移動網站建設、網站設計、企業建站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯