ホームページ >バックエンド開発 >PHPチュートリアル >PHP Excel クラスが Excel ファイルを読み取り、データベースにインポートする_PHP チュートリアル

PHP Excel クラスが Excel ファイルを読み取り、データベースにインポートする_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:06:201148ブラウズ

通常の状況では、Excel データベースのデータを mysql データベースにインポートしたい場合、それを実現する良い方法はありませんが、PHP を使用すると、すべてが簡単になります。

このコードは thinkphp で開始されました

1.授業の紹介

コードは次のとおりです コードをコピー

Vendor('PHPExcel.PHPExcel');//拡張クラスの紹介です。 ベンダー('PHPExcel.PHPExcel.IOFactory');
ベンダー('PHPExcel.PHPExcel.Reader.Excel5');

$excel_file= ROOT_PATH."/public/Uploads/".$publicity_bankdata_mod->where("id=".$data['id'])->getField('excel_file');

//ダンプ($excel_file);終了;
$objReader = PHPExcel_IOFactory::createReader('Excel5');//2007 形式には Excel2007 を使用します
$objPHPExcel = $objReader->load($excel_file);//$uploadfile
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow() // 総行数を取得します
; $highestColumn = $sheet->getHighestColumn() // 合計列数を取得します
; $arr_result = array();
$strs=array();
$strs_datas=array();
$succ_result=0;
$error_result=0;

上記は少し面倒に見えるので、以下に完全なクラスを書きましょう

コードは次のとおりですコードをコピー set_time_limit(20000);
ini_set('memory_limit','-1');
require_once './PHPExcel.php';
require_once './PHPExcel/IOFactory.php';
require_once './PHPExcel/Reader/Excel5.php';

//pdo を使用してデータベースに接続します
$dsn = "mysql:host=localhost;dbname=alumni;";
$user = "ルート";
$password = "";
試してください{
$dbh = 新しい PDO($dsn,$user,$password);
$dbh->query('set names utf8;'); }catch(PDOException $e){
echo "接続に失敗しました".$e->getMessage();
}
//pdo バインディングパラメータ操作
$stmt = $dbh->prepare("卒業生(gid,student_no,name) の値に挿入 (:gid,:student_no,:name) ");
$stmt->bindParam(":gid", $gid,PDO::PARAM_STR);
$stmt->bindParam(":student_no", $student_no,PDO::PARAM_STR);
$stmt->bindParam(":name", $name,PDO::PARAM_STR);

$objReader = new PHPExcel_Reader_Excel5() //excel2007を使用します
; $objPHPExcel = $objReader->load('bks.xls'); //指定されたファイル
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow() // 総行数を取得します
; $highestColumn = $sheet->getHighestColumn() // 合計列数を取得します
;
for($j=1;$j {

$student_no = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//学生番号の最初の列
$name = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//2 番目の列名
$gid = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();// 3列目のgid
}
//取得したExcelコンテンツをデータベースに挿入します
$stmt->execute();
?>

php-excel-reader は Excel の 2 つの重要なメソッドを操作します:

1.dump()、Excel コンテンツを HTML 形式で出力できます:

echo $data->dump(true,true);

2. Excel データを配列に保存し、$data->sheets を使用して、次のように印刷します。

コードは次のとおりですコードをコピー

配列

(
[0] => 配列
(
[maxrow] => 0
[maxcol] => 0
[行数] => 5
[numCols] => 4
[セル] => 配列
(
[1] => 配列
(
[1] => 番号
[2] => 名前
[3] => 年齢
[4] =>学生証
)
[2] => 配列
(
[1] => 1
[2] =>シャオホン
[3] => 22
[4] =>a1000
)
[3] => 配列
(
[1] => 2
[2] => シャオ・ワン
[3] => 33
[4] =>a1001
)
[4] => 配列
(
[1] => 3
[2] =>シャオヘイ
[3] => 44
[4] =>a1002
)
[5] => 配列
(
[2] => by
[3] => www.phpddt.com
)
)
[cellsInfo] => 配列
(
[1] => 配列
(
[1] => 配列
(
[xfIndex] => 15
)
[2] => 配列
(
[xfIndex] => 15
)
[3] => 配列
(
[xfIndex] => 15
)
[4] => 配列
(
[xfIndex] => 15
)
)
[2] => 配列
(
[1] => 配列
(
[文字列] => 1
[生] => 1
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 0
[フォーマットカラー] => [xfIndex] => 15
)
[2] => 配列
(
[xfIndex] => 15
)
[3] => 配列
(
[文字列] => 22
[生] => 22
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 0
[フォーマットカラー] => [xfIndex] => 15
)
[4] => 配列
(
[xfIndex] => 15
)
)
[3] => 配列
(
[1] => 配列
(
[文字列] => 2
[生] => 2
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 6
[フォーマットカラー] => [xfIndex] => 23
)
[2] => 配列
(
[xfIndex] => 23
)
[3] => 配列
(
[文字列] => 33
[生] => 33
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 6
[フォーマットカラー] => [xfIndex] => 23
)
[4] => 配列
(
[xfIndex] => 23
)
)
[4] => 配列
(
[1] => 配列
(
[文字列] => 3
[生] => 3
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 0
[フォーマットカラー] => [xfIndex] => 15
)
[2] => 配列
(
[xfIndex] => 15
)
[3] => 配列
(
[文字列] => 44
[生] => 44
[rectype] => 不明
[形式] => %s
[フォーマットインデックス] => 0
[フォントインデックス] => 0
[フォーマットカラー] => [xfIndex] => 15
)
[4] => 配列
(
[xfIndex] => 15
)
)
[5] => 配列
(
[2] => 配列
(
[xfIndex] => 15
)
[3] => 配列
(
[xfIndex] => 24
[ハイパーリンク] => 配列
(
[フラグ] => 23
[説明] => www.bKjia.c0m

[リンク] => http://www.phpddt.co
)
)
)
)
)
[1] => 配列
(
[maxrow] => 0
[maxcol] => 0
[行数] => 0
[numCols] => 0
)
[2] => 配列
(
[maxrow] => 0
[maxcol] => 0
[行数] => 0
[numCols] => 0
)
)

www.bkjia.com本当http://www.bkjia.com/PHPjc/630697.html技術記事通常の状況では、Excel データベースのデータを mysql データベースにインポートしたい場合、それを実現する良い方法がありませんが、PHP を使用すると、Excel が制御を失った後、すべてが簡単になります。 この世代は…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。