1. thinkphp怎樣使用PHPExcel導出網站數據為excel
第一步:先去下載PHPExcel插件壓縮包,解壓後只用到Classes文件夾裡面的文件就行。
第二步:然後把Classes文件夾名稱改為PHPExcel (也可以不用改),再放在thinkPHP指定的第三方類庫目錄文件夾Vendor下面,第三方類庫目錄在ThinkPHP/Library 裡面
第三步:整理數據,整理成適合excel表格式的數據,不多說直接給代碼
publicfunctionexport(){//導出Excel表數據整理
$xlsData=M('table')->select();//查找需要導出的數據
$xlsCell=array(//設置excel文檔的格式第一行就相當於標題
array('id','ID號'),
array('title','標題'),
array('time','時間'),
array('content','內容')
);
$newArray=array();//自定義數組
foreach($xlsDataas$k=>$v)
{//然後把所有查找到的數據根據設置第一行的標題相對應放進數組裡面
$newArray[$k]['id']=$v['id'];
$newArray[$k]['title']=$v['title'];
$newArray[$k]['time']=date('Y-m-d',$v['time']);
$newArray[$k]['content']=$v['content'];
}
$xlsName='Excel表數據'//設置Excel表文件名稱
$this->exportExcel($xlsName,$xlsCell,$newArray);//調用PHPExcel插件,這步的函數也需要自定義
}
/**
*@param$xlsName名稱
*@param$xlsCell參數(標題數組)
*@param$newArray內容(數據數組)
*/
publicfunctionexportExcel($xlsName,$xlsCell,$newArray){
$xlsTitle=iconv('utf-8','gb2312',$xlsName);//文件名稱需要轉碼避免亂碼出錯
$xlsCell_num=count($xlsCell);
$newArray_num=count($newArray);
vendor("PHPExcel.PHPExcel");//關鍵,利用thinkphp內置函數嵌套PHPExcel插件,如果在第二步沒有改文件夾名稱就這樣:vendor("Classes.PHPExcel");點之前表示插件文件夾,點之後的表示PHPExcel.php文件的名稱不要後綴名
$objPHPExcel=newPHPExcel();//實例化PHPExcel
$column_key='A'//excel表的每個單元格都是A1,A2,A3....類似的,大寫字母代表列,數字代錶行,那麼第一行就是標題了
foreach($xlsCellas$k=>$v){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($column.Ƈ',$v);//有多少標題列先寫進第一行
$column_key++;//這樣循環的好處就是不用限定有多少列,可以根據你的數據表欄位有多少就導出多少列
}
for($i=0;$i<$newArray_num;$i++){//第一層循環表示多少行
$column_key='A'
for($j=0;$j<$xlsCell_num;$j++){//第二層表示列
$objPHPExcel->getActiveSheet(0)->setCellValue($column_key.($i+2),$newArray[$i][$xlsCell[$j][0]]);//($i+2)表示從第二行開始,第一行已經設置為標題了
$column_key++;
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$xlsTitle.xls");//attachment新窗口列印inline本窗口列印
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//Excel5為xls格式,excel2007為xlsx格式
$objWriter->save('php://output');
exit;
}
2. php怎麼導出大量數據的Excel
簡介:可以利用工具軟體導出成Excel文件
工具原料:Apache+php+mysql網站運行環境,phpMyAdmin v4.6.2
下載phpMyAdmin v4.6.2軟體後解壓放在網站激基塵根目錄
用root用戶和密碼登入phpMyAdmin,在左邊欄點擊要導出的資料庫,然後點擊要導出的數據表,最後點擊導出如圖所示。
最後點擊執行按鈕,OK.
3. 用php怎麼從數據里調取數據,導出形式是excel
$link = mysql_connect() or die(mysql_error()); //連接mysql
mysql_select_db(DATABASE) or die( "肆跡Unable to select database"); //選擇要操作的資料庫
$result = mysql_query("SELECT * FROM table1"); //具體的查詢
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //返回查詢結果
print_r($row);
}
mysql_free_result($result); /族伏/釋放資源
至於導出層excel,目前沒有特別好用的excel調用代碼,不過有個簡單的解決方案,就是寫csv格裂穗並式的excel,接上面的查詢結果:
$excelFileName = 'my.csv';
touch($fileName);
$handle = fopen($excelFileName , "ab");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //返回查詢結果
$tmp='';
foreach($row as $key=>){
$tmp.=($tmp ? ',' : '').'"'.str_replace('"','"',$value).'"';
}
fwrite($handle, $tmp."\r\n");
}
fclose($handle);
4. php怎麼導出大量數據的Excel
php導出大量數據Excel的具體操作步驟如下:
1、使用phpstudy搭建一個測試平台,直接訪問資料庫。
5. php怎麼導出大量數據的Excel
php導出大量數據到Excel,可以通過生成多個Excel文件,然後壓縮成壓縮包解決。方案是:假如我們資料庫有10w條數據,每2000條數據生成一個Excel文件,這樣每次只要從資料庫里查詢出2000條數據即可,一定要分頁去查詢。原因:主要是資料庫性能和寫文件性能。分頁查詢可以解決資料庫壓力的問題,生成多個文件可以解決單個文件太大,後期維護Excel文件的問題。要注意的:1.在導出邏輯文件開頭,一定要聲明set_time_limit(0),防止腳本超時;2.每個文件生成後,適當的sleep一下,讓程序休息一下下;3.因為一次導出最後要將生成的多個Excel文件打包成一個壓縮包,所以要刪除掉生成的Excel文件,節省伺服器存儲空間;下面是我實際工作中,寫的一個php導出大量數據到Excel的代碼,你可以參考一下:
6. php如何輸出excle
分類: 電腦/網路 >> 軟體
解析:
將下面的代碼存為excel.php ,然後在頁面中包括進來
然後調用慎差
1. Call xlsBOF()
2. 將一些內容寫入到xlswritenunber() 或者 xlswritelabel()中.
3.然後調用 Call xlsEOF()
也可以用 fwrite 函數直接寫到伺服器上,而不是用echo 僅僅在瀏覽器上顯示。
<?php
----- 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 patible browser
add the following lines on TOP of your PHP file:
<?php
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
?>
7. php導出生成excel表格幾種方法介紹
php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls");$tx=』表局陸頭』; echo $tx."nn"; //輸桐悄頃出內容如下: echo "姓名"."t"; echo "年齡"."t"; echo "學歷"."t";echo "n";echo "張三"."t"; echo "25"."t"; echo "本科"."t"; >如運橡果你一定要輸入xls標準的excel文件可參考下面方法/** * 輸出XLS的頭信息 * 註:使用此函數前後都不應有任何數據輸出
8. php 怎樣將 數組導出excel文件
<?php
publicfunctionexcel()
{
//在這里調用你要導出的數據
$data=M('pmproject',"pm_",MYSQL_PSA)->select();
//列名數組
$tableheader=array('ID','標題','內容');
ob_end_clean();
Vendor('PHPExcel.PHPExcel');
//創建對象
$excel=newPHPExcel();
//Excel表格式,這里簡略寫了8列
$letter=array('A','B','C','D','E','F','F','G');
//填充表頭信息
for($i=0;$i<count($tableheader);$i++)
{
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
//填充表格信息
for($i=2;$i<=count($data)+1;$i++)
{
$j=0;
foreach($data[$i-2]as$key=>$value)
{
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}
//創建Excel輸入對象
$write=newPHPExcel_Writer_Excel5($excel);
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');
}
?>
9. php導出excel表格
建議你可以使用php裡面的csv函數,直接導出為csv格式的文件,這樣導出是可以即時導出的,不需考慮溢出問題。如果必須為excel,可以使用phpexcel插件使用,網上有很多說明。
function excelexport(){
$where = 查詢條件;
set_time_limit(0);
$name = '數據.csv';
dynamicHeader($name); //設置消息頭
$handle = fopen('php://output', 'ab');
$fieldname = array('**','**','**'); //表格標題
foreach($fieldname as &$hd){
$hd = mb_convert_encoding($hd, 'GBK', 'UTF-8');
}
fputcsv($handle, $fieldname);
$count = D('Kkk')->getcount($where); //獲取數據量
$limit = 100;
$times = ceil($count / $limit);
for($i = 0; $i < $times; $i++) {
$dataresult = array();
$offset = $i * $limit;
$dataresult = D('Kkk')->getpageUsers($where,$offset,$limit); //分配獲取數據
if ($i == 10) {
ob_flush();
flush();
}
foreach($dataresult as $row) {
//兼容用excel打開時不亂碼
foreach($row as &$val){
//$val = mb_convert_encoding($val, 'GBK', 'UTF-8');
$val = iconv('UTF-8', 'GBK//IGNORE', $val);
}
fputcsv($handle, $row);
}
}
fclose($handle);
}
有問題可以私聊
10. 通過table標簽,PHP輸出EXCEL的實現方法
以下是利用table標簽 對PHP輸出EXCEL的實現代碼進行了介紹 需要的朋友可以過來參考下關鍵代碼
復制代碼 代碼如下: <?php header("Content type:application/vnd ms excel"); header("Conten Disposition:filename=hp xlsx"); ?>第一句是用來聲明文件內容的格式 第二局是用來修改文件名的 如果沒有第二個語句的話 生成的文件將是沒有後綴名的 實現代碼
復制代碼 代碼如下: <meta equiv="Content Type" content="text/; charset=utf " /> <?php header("Content type:application/vnd ms excel"); header("Conten Disposition:filename=hp xlsx"); ?> <table width= border= > <tr> <正巧td colspan=" " align=center>i love you</td> </tr> <tr> <td>編號</td> <td>姓名</td> <td>年齡</td> </tr> <tr> <td> </td> <td>test</td> <td> </td> </tr> <tr> <td> </td> <td>test </td> <td> </td> </tr> </table>當然 我們很自然的想到了 是否可以把資料庫的內容也通過這種方式輸出到表格呢? 答案是可以的 實現代碼
復制代碼 代碼如下: <meta equiv="Content Type" content="text/; charset=gbk" /> <?php header("Content type:application/vnd ms excel"); header("Content Disposition:filename=qianshou xls"); mysql_connect("localhost" "root" ""); mysql_select_db("test"); mysql_query("SET NAMES GBK"); $query="select * from city "; $r=mysql_query($query); ?> <table width= border= > <tr> <td colspan=" " align=center>城市列表<悄磨/td> </tr> <tr> <td align=center>id</td> <td align=center>p_id</td> <td align=center>name</td> </tr> <?php while($row=mysql_fetch_assoc($r)){ ?> <tr> <td><?php echo $row[id] ?></td> <td><?php echo $row[p_id] ?></td>啟清斗 <td><?php echo $row[c_name]?></td> </tr> <?php } ?> </table> lishixin/Article/program/PHP/201311/20901