php 链接excel表格数据,php 怎么把数据导出到excel表格?php 连接 excel表格数据库数据...
php 怎么把數據導出到excel表格
php 把數據導出到excel表多種方法如使用 phpExcel 等,以下代碼是直接通 header 生成 excel 文件的代碼示例:
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?"";
//導出表頭(也就是表中擁有的字段)
while($row?=?mysql_fetch_array($res)){
$t_field[]?=?$row['Field'];?//Field中的F要大寫,否則沒有結果
echo?"".$row['Field']."";
}
echo?"";
//導出100條數據
$sql?=?"select?*?from?users?limit?100";
$res?=?mysql_query($sql);
while($row?=?mysql_fetch_array($res)){
echo?"
";
foreach($t_field?as?$f_key){
echo?"".$row[$f_key]."";
}
echo?"";
}
echo?"";
?>
PHP 用PHPExcel往數據庫導入大量數據
奇怪可以有更好的辦法解決,
你可以像做分頁一樣,查詢一段插入一段,
這樣避免PHP的超時,
有時雖然用limit(0)無限大超時時間,但是大批量數據還是容易出現順序和丟失的。
導入excel文件,后端php處理導入的數據并存入數據庫,需要前后端結合的demo!
thinkphp3.2phpexcel導入最基本用法
先整個最基礎的代碼解了這個,后面的常簡單了
$file_name=?'./Upload/excel/123456.xls';
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.IOFactory");
$objReader?=?\PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel?=?$objReader->load($file_name,$encode='utf-8');
$sheet?=?$objPHPExcel->getSheet(0);
$highestRow?=?$sheet->getHighestRow();?//?取得總行數
$highestColumn?=?$sheet->getHighestColumn();?//?取得總列數
$s?=?$objPHPExcel->getActiveSheet()->getCell("A2")->getValue();
表容:
再給大家整個一點難度的,先說下思路。
1.上傳excel文件,得到它的地址
2.寫個處理exl的function,即可
實例代碼演示:
public?function?upload(){
$files?=?$_FILES['exl'];
//?exl格式,否則重新上傳
if($files['type']?!='application/vnd.ms-excel'){
$this->error('不是Excel文件,請重新上傳');
}
//?上傳
$upload?=?new?\Think\Upload();//?實例化上傳類
$upload->maxSize???=?????3145728?;//?設置附件上傳大小
$upload->exts??????=?????array('xls');//?設置附件上傳類型
$upload->rootPath??=?????'./Upload/';?//?設置附件上傳根目錄
$upload->savePath??=?????'excel/';?//?設置附件上傳(子)目錄
//$upload->subName???=?????array('date',?'Ym');
$upload->subName???=?????'';
//?上傳文件
$info???=???$upload->upload();
$file_name?=??$upload->rootPath.$info['exl']['savepath'].$info['exl']['savename'];
$exl?=?$this->import_exl($file_name);
//?去掉第exl表格中第一行
unset($exl[0]);
//?清理空數組
foreach($exl?as?$k=>$v){
if(empty($v)){
unset($exl[$k]);
}
};
//?重新排序
sort($exl);
$count?=?count($exl);
//?檢測表格導入成功后,是否有數據生成
if($count<1){
$this->error('未檢測到有效數據');
}
//?開始組合數據
foreach($exl?as?$k=>$v){
$goods[$k]['goods_sn']?=?$v;
//?查詢數據庫
$where['goods_sn']?=?array('like','%'.$v.'%');
$res?=?M('goods')->where($where)->find();
$goods[$k]['goods_name']?=?$res['goods_name'];
$goods[$k]['goods_thumb']?=?$res['goods_thumb'];
if($res){
//?是否匹配成功
$goods[$k]['is_match']????=?'1';
$f? =?1;
}else{
//?匹配失敗
$goods[$k]['is_match']????=?'0';
$w? =?1;
}
}
//?實例化數據
$this->assign('goods',$goods);
//print_r($f);
//?統計結果
$total['count']?=?$count;
$total['success']?=?$f;
$total['error']?=?$w;
$this->assign('total',$total);
//?刪除Excel文件
unlink($file_name);
$this->display('info');
}
/*?處理上傳exl數據
*?$file_name??文件路徑
*/
public?function?import_exl($file_name){
//$file_name=?'./Upload/excel/123456.xls';
import("Org.Util.PHPExcel");???//?這里不能漏掉
import("Org.Util.PHPExcel.IOFactory");
$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=1;$i
$data[]?=?$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();
}
return?$data;
}
有問題一定要及時弄清楚
PHP實現把mysql數據庫中的表的數據導出到excel
我就貼當時生成EXCEL的代碼,LZ可以參照,修改,然問這個PHP文件,就會自動生成EXCEL,
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:filename=test.xls"); //輸出格名稱
echo "ID\t";echo "name\t\n";
//這是表格頭字段 加\T就是換格,加\T\N就是結束這一行,換行的意思
$conn = mysql_connect("localhost","用戶名","密碼") or die("不能連接數據庫");
mysql_select_db("數據庫名", $conn);
mysql_query("set names 'UTF-8'");
$sql="SQL語句";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row[0]."\t";echo $row[1]."\t\n";
}
?>
總結
以上是生活随笔為你收集整理的php 链接excel表格数据,php 怎么把数据导出到excel表格?php 连接 excel表格数据库数据...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql修改忘记了root密码忘记了,
- 下一篇: post php数据,php post数