目前來說我只知道兩種:
創(chuàng)新互聯(lián)服務項目包括花垣網(wǎng)站建設、花垣網(wǎng)站制作、花垣網(wǎng)頁制作以及花垣網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,花垣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到花垣省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
如果是在同一個頁面( 即php+html混合代碼? ), 直接 echo 出來
如果在不同的頁面, 可以使用 ajax 請求后臺, 后臺返回 json 格式數(shù)據(jù), 前臺收到后處理 json 并輸出到前臺
我也在找其他的方式, 不過還沒有找到
就是通過php鏈接數(shù)據(jù)庫取數(shù)據(jù)再通過php控制數(shù)據(jù)在html顯示,php就是一個實現(xiàn)html和數(shù)據(jù)庫交互的一個橋梁
thinkphp3.2和phpexcel導入最基本用法
先整個最基礎的代碼,理解了這個,后面的就非常簡單了
$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();?//?取得總行數(shù)
$highestColumn?=?$sheet-getHighestColumn();?//?取得總列數(shù)
$s?=?$objPHPExcel-getActiveSheet()-getCell("A2")-getValue();
表格內(nèi)容:
再給大家整個一點難度的,先說下思路。
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]);
//?清理空數(shù)組
foreach($exl?as?$k=$v){
if(empty($v)){
unset($exl[$k]);
}????
};
//?重新排序
sort($exl);
$count?=?count($exl);
//?檢測表格導入成功后,是否有數(shù)據(jù)生成
if($count1){
$this-error('未檢測到有效數(shù)據(jù)');????
}
//?開始組合數(shù)據(jù)
foreach($exl?as?$k=$v){
$goods[$k]['goods_sn']?=?$v;
//?查詢數(shù)據(jù)庫
$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;
}
}
//?實例化數(shù)據(jù)
$this-assign('goods',$goods);
//print_r($f);
//?統(tǒng)計結果
$total['count']?=?$count;
$total['success']?=?$f;
$total['error']?=?$w;
$this-assign('total',$total);
//?刪除Excel文件
unlink($file_name);
$this-display('info');
}
/*?處理上傳exl數(shù)據(jù)
*?$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();?//?取得總行數(shù)
$highestColumn?=?$sheet-getHighestColumn();?//?取得總列數(shù)
for($i=1;$i$highestRow+1;$i++){
$data[]?=?$objPHPExcel-getActiveSheet()-getCell('A'.$i)-getValue();????
}
return?$data;????
}
有問題一定要及時弄清楚
大致的前后端交互可以這樣實現(xiàn):
首先,前端js通過ajax請求后端php,請求數(shù)據(jù)推薦json格式
后端php收到請求后,解析數(shù)據(jù)并處理
后端返回處理后結果,不推薦var_dump打印,會打印多余的無用信息,返回時json_encode()轉成json格式再返回
前端js收到返回值后解析json數(shù)據(jù)即可