php導(dǎo)出數(shù)據(jù)有兩種方式,一種是通過封裝好的phpexcel導(dǎo)出,一種是通過table導(dǎo)出數(shù)據(jù),指定header就可以導(dǎo)出數(shù)據(jù)。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的保亭黎族網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
上面是導(dǎo)出到excel中的方法,當(dāng)然你也可以導(dǎo)出數(shù)據(jù)直接到數(shù)據(jù)庫,或者你也可以到處數(shù)據(jù)到文件中,這個(gè)主要看你導(dǎo)出數(shù)據(jù)的格式要求。
看你截圖顯示的是數(shù)組格式,可以通過循環(huán)遍歷然后導(dǎo)入到響應(yīng)的文件中。
$ar = Array(
Array (
'log_data' = 4,
'log_result' = 0,
'log_time' = '2013-05-08 10:08:40'
),
Array (
'log_data' = 10018,
'log_result' = 2,
'log_time' = '2013-05-08 10:13:58',
),
Array (
'log_data' = 10018,
'log_result' = 2,
'log_time' = '2013-05-08 10:14:02',
),
Array (
'log_data' = 10003,
'log_result' = 50,
'log_time' = '2013-05-08 10:18:29',
),
);
foreach($ar as $item) {
@$res[$item['log_data']][strtok($item['log_time'], ' ')] += $item['log_result'];
}
print_r($res);
如果將數(shù)據(jù)導(dǎo)出成excel,需要用到PHPExcel,這個(gè)可以百度一下。
要實(shí)現(xiàn)這個(gè)功能,代碼是比較多的,下面是我的代碼,肯定不能兼容你的,需要修改。
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',?'編號(hào)')
??-setCellValue('B1',?'產(chǎn)品名字')
??-setCellValue('C1',?'產(chǎn)品屬性')
??-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()){//這里是查詢數(shù)據(jù)的代碼,請(qǐng)用你自己的(本程序由[且聽風(fēng)吟福利吧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);//上下對(duì)齊
$objPHPExcel-getActiveSheet()-getStyle('A1:D1')-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);?//左右對(duì)齊
$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('產(chǎn)品表');//重命名工作表
$objPHPExcel-setActiveSheetIndex(0);//設(shè)置打開excel時(shí)顯示的工作表
$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='導(dǎo)出Excel成功,文件名為span?class="red"'.$filename.'.xls/span,a?href="'.$filename.'.xls"【點(diǎn)此下載】/a';
}
因?yàn)槟阏f的需要有一個(gè)按鈕觸發(fā)事件,所以outputExcelBtn就是按鈕名字
input?type="submit"?name="outputExcelBtn"?value="導(dǎo)出excel"?/
網(wǎng)上有很多人問這個(gè)的,回答的人很少,要么是自己解決了不想讓其他人知道,要么是不能用,這個(gè)是在一直用的,沒問題。
講的復(fù)雜了??!
你先在一個(gè)完整版的PHPExcel之后解壓,在“Examples”目錄下會(huì)找到一大堆例子,根據(jù)你的要求這個(gè)“01simple-download-xlsx.php”文件就可以了!
注:你先保持“01simple-download-xlsx.php”文件所在的目錄位置不要變,測(cè)試好了,再改變名,移到別的地方,地方變了的話,文件里的 “require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';”的所在位置也要變!
我們要改動(dòng)代碼很少,如下:
// 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)//這個(gè)就是現(xiàn)實(shí)導(dǎo)出的表第一行,有幾列是根據(jù)你的那張表有幾列!
-setCellValue('A1', '單號(hào)')
-setCellValue('B1', '標(biāo)題')
-setCellValue('C1', '內(nèi)容')
-setCellValue('D1', '序列')
-setCellValue('E1', '數(shù)字');
//下面實(shí)現(xiàn)的就是建立數(shù)據(jù)庫連接,直接到表,你的連接數(shù)據(jù)庫、表、字段應(yīng)該與我的不一樣,你可以參考
$conn=@mysql_connect("localhost","root","root") or die("數(shù)據(jù)庫服務(wù)器連接錯(cuò)誤".mysql_error());//連接mysql數(shù)據(jù)庫
mysql_select_db("temp",$conn) or die("數(shù)據(jù)庫訪問錯(cuò)誤".mysql_error());//數(shù)據(jù)庫
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'])//這就是你要導(dǎo)出表的字段、與對(duì)應(yīng)的名稱
-setCellValue($l2, $data['title'])
-setCellValue($l3, $data['content'])
-setCellValue($l4, $data['sn'])
-setCellValue($l5, $data['num']);
}
}
根據(jù)下列編碼程序可以。
1./*** 批量導(dǎo)出數(shù)據(jù)* @param $arr 從數(shù)據(jù)庫查詢出來,即要導(dǎo)出的數(shù)據(jù)* ?$name excel表歌名*/
2.function expExcel($arr,$name){?require_once 'PHPExcel.php';
3. //實(shí)例化?$objPHPExcel = new PHPExcel();?/*右鍵屬性所顯示的信息*/
4.$objPHPExcel-getProperties()-setCreator("zxf") ?//?-setLastModifiedBy("zxf") ?//最后一? -setTitle('數(shù)據(jù)EXCEL導(dǎo)出') ?//標(biāo)題-setSubject('數(shù)據(jù)EXCEL導(dǎo)出') //主題setDescription('導(dǎo)出數(shù)據(jù)') ?//描setKeywords("excel") ? //標(biāo)記setCategory("result file"); ?//類別
5. //設(shè)置當(dāng)前的表格??$objPHPExcel-setActiveSheetIndex(0);// 設(shè)置表格第一行顯示內(nèi)容$objPHPExcel-getActiveSheet()? -setCellValue('A1', '業(yè)主姓名')?-setCellValue('B1', '密碼')-setCellValue('C1', '手機(jī)號(hào)碼'? -setCellValue('D1', '地址')
6.//設(shè)置第一行為紅色字體?-getStyle('A1:D1')-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_RED);$key = 1;?/*以下就是對(duì)處理Excel里的數(shù)據(jù)。