php導出表格
A. 濡備綍鍒╃敤Thinkphp妗嗘灦瀹炵幇Excel鏁版嵁瀵煎叆鍜屽煎嚭
瀹炵幇姝ラわ細
涓錛氬湪http://phpexcel.codeplex.com/涓嬭澆鏈鏂癙HPExcel鏀懼埌Vendor涓嬶紝娉ㄦ剰浣嶇疆錛歍hinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php銆
浜岋細瀵煎嚭excel浠g爜瀹炵幇
/**鏂規硶**/
function index(){
$this->display();
}
public function exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//鏂囦歡鍚嶇О
$fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 鏂囦歡鍚嶇О鍙鏍規嵁鑷宸辨儏鍐佃懼畾
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//鍚堝苟鍗曞厓鏍
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i<$dataNum;$i++){
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment鏂扮獥鍙f墦鍗癷nline鏈紿楀彛鎵撳嵃
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
/**
*
* 瀵煎嚭Excel
*/
function expUser(){//瀵煎嚭Excel
$xlsName = "User";
$xlsCell = array(
array('id','璐﹀彿搴忓垪'),
array('truename','鍚嶅瓧'),
array('sex','鎬у埆'),
array('res_id','闄㈢郴'),
array('sp_id','涓撲笟'),
array('class','鐝綰'),
array('year','姣曚笟鏃墮棿'),
array('city','鎵鍦ㄥ湴'),
array('company','鍗曚綅'),
array('cheng','鑱岀О'),
array('wu','鑱屽姟'),
array('jibie','綰у埆'),
array('tel','鐢佃瘽'),
array('qq','qq'),
array('email','閭綆'),
array('honor','鑽h獕'),
array('remark','澶囨敞')
);
$xlsModel = M('Member');
$xlsData = $xlsModel->Field('id,truename,sex,res_id,sp_id,class,year,city,company,cheng,wu,jibie,tel,qq,email,honor,remark')->select();
foreach ($xlsData as $k => $v)
{
$xlsData[$k]['sex']=$v['sex']==1?'鐢':'濂';
}
$this->exportExcel($xlsName,$xlsCell,$xlsData);
}
澶嶅埗浠g爜
絎涓夛細瀵煎叆excel鏁版嵁浠g爜
function impUser(){
if (!empty($_FILES)) {
import("@.ORG.UploadFile");
$config=array(
'allowExts'=>array('xlsx','xls'),
'savePath'=>'./Public/upload/',
'saveRule'=>'time',
);
$upload = new UploadFile($config);
if (!$upload->upload()) {
$this->error($upload->getErrorMsg());
} else {
$info = $upload->getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name=$info[0]['savepath'].$info[0]['savename'];
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 鍙栧緱鎬昏屾暟
$highestColumn = $sheet->getHighestColumn(); // 鍙栧緱鎬誨垪鏁
for($i=3;$i<=$highestRow;$i++)
{
$data['account']= $data['truename'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
$sex = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
// $data['res_id'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
$data['class'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
$data['year'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();
$data['city']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();
$data['company']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();
$data['cheng']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();
$data['wu']= $objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue();
$data['jibie']= $objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue();
$data['honor']= $objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue();
$data['tel']= $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();
$data['qq']= $objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue();
$data['email']= $objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue();
$data['remark']= $objPHPExcel->getActiveSheet()->getCell("P".$i)->getValue();
$data['sex']=$sex=='鐢'?1:0;
$data['res_id'] =1;
$data['last_login_time']=0;
$data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR'];
$data['login_count']=0;
$data['join']=0;
$data['avatar']='';
$data['password']=md5('123456');
M('Member')->add($data);
}
$this->success('瀵煎叆鎴愬姛錛');
}else
{
$this->error("璇烽夋嫨涓婁紶鐨勬枃浠");
}
}
澶嶅埗浠g爜
鍥涖佹ā鏉誇唬鐮
<html>
<head>
</head>
<body>
<P><a href="{:U('Index/expUser')}" >瀵煎嚭鏁版嵁騫剁敓鎴恊xcel</a></P><br/>
<form action="{:U('Index/impUser')}" method="post" enctype="multipart/form-data">
<input type="file" name="import"/>
<input type="hidden" name="table" value="tablename"/>
<input type="submit" value="瀵煎叆"/>
</form>
</body>
</html>
B. php怎麼導出大量數據的Excel
php導出大量數據Excel的具體操作步驟如下:
C. 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鏍囧噯鐨別xcel鏂囦歡鍙鍙傝冧笅闈㈡柟娉/** * 杈撳嚭XLS鐨勫ご淇℃伅 * 娉錛氫嬌鐢ㄦゅ嚱鏁板墠鍚庨兘涓嶅簲鏈変換浣曟暟鎹杈撳嚭
D. 如何通過PHP實現EXCEL與MYsql之間的導入導出
1.先介紹一下這個Excel資料庫的結構,且命名為E.xls,欄位有4個(40個也一樣搞定),欄位名為a,b,c,d,接著對jm.xls做分解:
1)選中欄位a中的全部記錄,選擇"復制"
2)新建一個Excel資料庫文件,把復制過來的數據粘貼在一個空白的欄位(通常是A)下,保證其他欄位空白,保存為a.xls
3)另存a.xls為a.txt(格式為"文本文件(製表符分隔)")
4)E.xls中其他3個欄位的數據按1到3步驟繼續生成b.txt,c.txt和d.txt。
2.完成上述步驟後,你已經完成了大部分的工作,下面就由php和mysql來完成,很簡單:
1)要把數據放在mysql中,必須建立一個mysql資料庫文件名為dbname(與php代碼中的dbname要一致),包括表tbname(與php代碼中的tbname要一致),4個欄位inc char(100),adds char(100),pri char(100),tel char(100),大小要根據Excel中欄位大小做調整,否則可能出現部分值丟失。
2)再編寫php代碼,是最主要的,代碼如下:
------txt2mysql.php---------
<?
$inc=file("a.txt");
$adds=file("b.txt");
$pri=file("c.txt");
$tel=file("d.txt");
$i=0;
mysql_connect();
while (strlen($inc[$i])>0)
{
$sql="insert into tbname values ('$inc[$i]','$adds[$i]','$pri[$i]','$tel[$i]')";
$do=mysql_db_query("dbname",$sql);
$i=$i+1;
echo '<br>';
}
$s="select * from tbname";
$gg=mysql_db_query("dbname",$s);
$n=mysql_num_rows($gg);
mysql_close();
echo '<br>';
echo "共添加了".$n."個記錄";
?>
這種方法很簡單吧!我剛試了一下挺管用的。你稍微改一下,相信能完成!
關鍵在於,如何把excel 中的數據讀取出來,導入是很簡單的事。
分別 把相應的列 另存為,相應的txt。就能得到!然後 以數組的方式讀取。
E. php鎬庝箞瀵煎嚭澶ч噺鏁版嵁鐨凟xcel
php瀵煎嚭澶ч噺鏁版嵁鍒癊xcel錛屽彲浠ラ氳繃鐢熸垚澶氫釜Excel鏂囦歡錛岀劧鍚庡帇緙╂垚鍘嬬緝鍖呰В鍐熾
鏂規堟槸錛氬亣濡傛垜浠鏁版嵁搴撴湁10w鏉℃暟鎹錛屾瘡2000鏉℃暟鎹鐢熸垚涓涓狤xcel鏂囦歡錛岃繖鏍鋒瘡嬈″彧瑕佷粠鏁版嵁搴撻噷鏌ヨ㈠嚭2000鏉℃暟鎹鍗沖彲錛屼竴瀹氳佸垎欏靛幓鏌ヨ銆
鍘熷洜錛氫富瑕佹槸鏁版嵁搴撴ц兘鍜屽啓鏂囦歡鎬ц兘銆傚垎欏墊煡璇㈠彲浠ヨВ鍐蟲暟鎹搴撳帇鍔涚殑闂棰橈紝鐢熸垚澶氫釜鏂囦歡鍙浠ヨВ鍐沖崟涓鏂囦歡澶澶э紝鍚庢湡緇存姢Excel鏂囦歡鐨勯棶棰樸
瑕佹敞鎰忕殑錛
1.鍦ㄥ煎嚭閫昏緫鏂囦歡寮澶達紝涓瀹氳佸0鏄set_time_limit(0)錛岄槻姝㈣剼鏈瓚呮椂錛
2.姣忎釜鏂囦歡鐢熸垚鍚庯紝閫傚綋鐨剆leep涓涓嬶紝璁╃▼搴忎紤鎮涓涓嬩笅錛
3.鍥犱負涓嬈″煎嚭鏈鍚庤佸皢鐢熸垚鐨勫氫釜Excel鏂囦歡鎵撳寘鎴愪竴涓鍘嬬緝鍖咃紝鎵浠ヨ佸垹闄ゆ帀鐢熸垚鐨凟xcel鏂囦歡錛岃妭鐪佹湇鍔″櫒瀛樺偍絀洪棿錛
涓嬮潰鏄鎴戝疄闄呭伐浣滀腑錛屽啓鐨勪竴涓猵hp瀵煎嚭澶ч噺鏁版嵁鍒癊xcel鐨勪唬鐮侊紝浣犲彲浠ュ弬鑰冧竴涓嬶細
F. php怎麼導出大量數據的Excel
簡介:可以利用工具軟體導出成Excel文件
工具原料:Apache+php+mysql網站運行環境,phpMyAdmin v4.6.2
1、下載phpMyAdmin v4.6.2軟體後解壓放在網站根目錄
2、用root用戶和密碼登入phpMyAdmin,在左邊欄點擊要導出的資料庫,然後點擊要導出的數據表,最後點擊導出如圖所示。
5、最後點擊執行按鈕,OK.
G. PHP如何將查詢出來的數據導出成excel表格(最好做一個按鈕)
講的復雜了啊!x0dx0a你先在一個完整版的PHPExcel之後解壓,在「Examples」目錄下會找到一大堆例子,根據你的要求這個「01simple-download-xlsx.php」文件就可以了!x0dx0a註:你先保持「01simple-download-xlsx.php」文件所在的目錄位置不要變,測試好了,再改變名,移到別的地方,地方變了的話,文件里的 「require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'」的所在位置也要變!x0dx0a我們要改動代碼很少,如下:x0dx0a// Add some datax0dx0a$objPHPExcel->setActiveSheetIndex(0)x0dx0a->setCellValue('A1', 'Hello')x0dx0a->setCellValue('B2', 'world!')x0dx0a->setCellValue('C1', 'Hello')x0dx0a->setCellValue('D2', 'world!');x0dx0ax0dx0a// Miscellaneous glyphs, UTF-8x0dx0a$objPHPExcel->setActiveSheetIndex(0)x0dx0a->setCellValue('A4', 'Miscellaneous glyphs')x0dx0a->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');x0dx0a、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、x0dx0a直接用的我的替換x0dx0a$objPHPExcel->setActiveSheetIndex(0)//這個就是現實導出的表第一行,有幾列是根據你的那張表有幾列!x0dx0a->setCellValue('A1', '單號')x0dx0a->setCellValue('B1', '標題')x0dx0a->setCellValue('C1', '內容')x0dx0a->setCellValue('D1', '序列')x0dx0a->setCellValue('E1', '數字');x0dx0a//下面實現的就是建立資料庫連接,直接到表,你的連接資料庫、表、欄位應該與我的不一樣,你可以參考x0dx0a$conn=@mysql_connect("localhost","root","root") or die("資料庫伺服器連接錯誤".mysql_error());//連接mysql資料庫x0dx0amysql_select_db("temp",$conn) or die("資料庫訪問錯誤".mysql_error());//資料庫x0dx0amysql_query("set character set gb2312");x0dx0amysql_query("set names gb2312");x0dx0ax0dx0a$sqlgroups="select * from test ";//查詢這一張表的條件x0dx0a$resultgroups=mysql_query($sqlgroups);x0dx0a$numrows=mysql_num_rows($resultgroups);x0dx0aif ($numrows>0)x0dx0a{x0dx0a$count=1;x0dx0awhile($data=mysql_fetch_array($resultgroups))x0dx0a{x0dx0a$count+=1;x0dx0a$l1="A"."$count";x0dx0a$l2="B"."$count";x0dx0a$l3="C"."$count";x0dx0a$l4="D"."$count";x0dx0a$l5="E"."$count";x0dx0a$objPHPExcel->setActiveSheetIndex(0) x0dx0a->setCellValue($l1, $data['id'])//這就是你要導出表的欄位、與對應的名稱x0dx0a->setCellValue($l2, $data['title'])x0dx0a->setCellValue($l3, $data['content'])x0dx0a->setCellValue($l4, $data['sn'])x0dx0a->setCellValue($l5, $data['num']);x0dx0a}x0dx0a}
H. PHP怎樣將查詢出來的數據導出成excel表格
根據下列編碼程序可以。