thinkphp3.2とphpexcelをインポートする最も基本的な使い方
最も基本的なコードから始めましょう。これを理解すれば、残りは非常に簡単になります$file_name= './Upload/excel/123456.xls';<br>
import("Org.Util.PHPExcel");<br>
import("Org.Util.PHPExcel.IOFactory");<br>
$objReader = PHPExcel_IOFactory::createReader('Excel5');<br>
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');<br>
$sheet = $objPHPExcel->getSheet(0);<br>
$highestRow = $sheet->getHighestRow() // 合計行数を取得します <br>;
$highestColumn = $sheet->getHighestColumn() // 列の合計数を取得します<br>;
<br>
$s = $objPHPExcel->getActiveSheet()->getCell("A2")->getValue();
テーブルの内容:
少し難しくして、最初にアイデアについて話しましょう。
1. Excel ファイルをアップロードし、そのアドレスを取得します
2. exlを処理する関数を書く、それだけです
コード例のデモ: public function Upload(){<br>
$files = $_FILES['exl'];<br>
<br>
<br>
// exl 形式、それ以外の場合は再アップロード<br>
If($files['type'] !='application/vnd.ms-excel'){<br>
$this->error('Excel ファイルではありません。再アップロードしてください');
}<br>
<br>
// アップロード<br>
$upload = new ThinkUpload() // アップロード クラスをインスタンス化します<br>;
$ upload-&gt; maxsize
$ upload-&gt; exts
$upload->rootPath
$upload->savePath = 'excel/' // 添付ファイルのアップロード (サブ) ディレクトリを設定します <br>;
//$upload->subName = array('date', 'Ym');<br>
$upload->subName
// ファイルをアップロードします <br>
$info = $upload->upload();<br>
<br>
$file_name = $upload->rootPath.$info['exl']['savepath'].$info['exl']['savename'];<br>
$exl = $this->import_exl($file_name);<br>
<br>
// exl テーブルの最初の行を削除します<br>
unset($exl[0]);<br>
<br>
//空の配列をクリア<br>
foreach($exl as $k=>$v){<br>
if(empty($v)){<br>
unset($exl[$k]);<br>
};<br>
//再注文<br>sort($exl);<br>
<br>
$count = count($exl);<br>
// テストフォームが正常にインポートされた後、データ生成があるかどうか <br>
if($count
$this->error('有効なデータが検出されませんでした');
}<br>
<br>
// データの結合を開始します<br>
foreach($exl as $k=>$v){<br>
<br>
$goods[$k]['goods_sn'] = $v;<br>
// データベースにクエリを実行します <br>
$where['goods_sn'] = array('like','%'.$v.'%');<br>
$res = M('goods')->where($where)->find();<br>
$goods[$k]['goods_name'] = $res['goods_name'];<br>
$goods[$k]['goods_thumb'] = $res['goods_thumb'];<br>
if($res){<br>
'は正常にマッチングされています
$goods[$k]['is_match']
$f += 1;<br>
}その他{<br>
$goods[$k]['is_match']
$w += 1;<br>
}<br>
<br>
}<br>
// インスタンス化データ<br>
$this->assign('goods',$goods);<br>
//print_r($f);<br>
<br>
//統計結果<br>
$total['count'] = $count;<br>
$total['success'] = $f;<br>
$total['error'] = $w;<br>
$this->assign('total',$total);<br>
<br>
// Excel ファイルを削除します<br>
リンク解除($file_name);<br>
$this->display('info');<br>
}<br>
/* アップロードされた exl データを処理します<br>
* * $file_name ファイルパス<br>
*/<br>
パブリック関数 import_exl($file_name){<br>
//$file_name= './Upload/excel/123456.xls';<br>
import("Org.Util.PHPExcel"); 。import("Org.Util.PHPExcel.IOFactory");<br>
$objReader = PHPExcel_IOFactory::createReader('Excel5');<br>
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');<br>
$sheet = $objPHPExcel->getSheet(0);<br>
$highestRow = $sheet->getHighestRow() // 合計行数を取得します <br>;
$highestColumn = $sheet->getHighestColumn() // 列の合計数を取得します<br>;
<br>
for($i=1;$i
使用
}<br>
$ dataを返します。
} }<br> thinkphp3.2 と phpexcel を使用して画像を生成する完璧なケース<br>
http://www.thinkphp.cn/code/2112.html
Yunqi Conference 北京駅:今回はアリババの技術専門家が現場に登場するのは珍しいですね。 !