Excel を操作できる PHPExcel (公式サイト) というクラスがあることは以前から知っていましたが、試す機会がありませんでした。今日試してみたところ、非常に強力であることがわかりました。ダウンロードしたソースコードパッケージには詳細なドキュメントが含まれており、Excelのすべての機能を手動で操作することができます。
Excel を読み取る簡単な例は次のとおりです:
Excel の読み込み後に M または D メソッドのインスタンスが呼び出されることが判明しました。モデル クラスを変更すると、Model クラスが見つからないというエラーが表示されます。調査の結果、自動読み込みメカニズムと競合していることが判明しました。競合がある場合は、M または D メソッドを呼び出す前に、spl_autoload_register 関数を使用してオートローダー クラスを再登録する必要があります
ThinkPHPでPHPExcelを呼び出すと、データは完全に読み出すことができますが、次のステップはD、Mでないと呼び出し時にエラーが発生しますテンプレート。 (この問題に遭遇するのは私だけでしょうか?)
ベンダー ("PHPExcel.PHPExcel");
$PHPExcel = 新しい PHPExcel();
$PHPReader = 新しい PHPExcel_Reader_Excel2007();
$PHPReader = 新しいPHPExcel_Reader_Excel5() ;
if(!$PHPReader->canRead($file)){
return array("error"=>2)
}
}
$PHPExcel = $PHPReader->load($file) );
$SheetCount = $PHPExcel->getSheetCount();
for($i=0;$i$currentSheet = $PHPExcel->getSheet($i); allColumn = $ this->ExcelChange($currentSheet->getHighestColumn());
$allRow = $currentSheet->getHighestRow();
$array[$i]["Title"] = $currentSheet-> getTitle() ;
$array[$i]["列"] = $allColumn;
$arr = array(); 1;$ currentRow$row = array();
for($currentColumn=0;$currentColumn$row[$currentColumn] = $currentSheet- >getCellByColumnAndRow ($currentColumn,$currentRow)->getValue();
}
$arr[$currentRow] = $row;
$array[$i]["Content"] = $arr;
spl_autoload_register( array('Think','autoload'));//必須、そうでない場合は ThinkPHP と PHPExcel が競合します
unset($PHPReader)
unlink($) file) ;
return array("error"=>0,"data"=>$array);
protected function ExcelChange($str){//Execl バッチインポートと連携する関数
$len = strlen ($str )-1;
$num = 0;
for($i=$len;$i>=0;$i--){
$num += (ord($str[$i]) - 64)* pow(26,$len-$i);
}
return $num;
3、呼び出します。
コードをコピーします
コードは次のとおりです:
パブリック関数 import(){
if(isset($_FILES["import"]) && ($_FILES["import"]["error"] == 0)){
$result = $this-> Import_Execl($_FILES["import"]["tmp_name"]);
if($this->Execl_Error[$result["error"]] == 0){
$execl_data = $result["data"] [0]["コンテンツ"];
$data = D("データ");
foreach($execl_data as $k=>$v){
$d["シリアル番号"] = $v[0];
$d["チェック番号"] = $v[1];
$d["ワーク番号"] = $v[2];
$d["クラス名"] = $ v[3];
$d["ユーザー名"] = $v[4];
$d["エラーレベル"] = $v[6];
$data->data($d)->add();
$this->success($this->Execl_Error[$result["error"]]);
}else{
$this->error($this->Execl_Error[$result["error"]]);
}
}else{
$this->error("ファイルのアップロードに失敗しました");
4、エラー データ:
コードをコピー
コードは次のとおりです:
protected $Execl_Error = array("データは正常にインポートされました", "ファイルが見つかりません", "Execl ファイル形式が正しくありません") ;
http://www.bkjia.com/PHPjc/324208.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324208.html技術記事 Excel を操作するために使用できる PHPExcel (公式 Web サイト) というクラスがあることは以前から知っていましたが、今日試してみたところ、非常に強力であることがわかりました。ソースコードパッケージには詳細情報が含まれています...