1. 程式人生 > 其它 >php 用pdo連線資料庫 實現excel批量匯入

php 用pdo連線資料庫 實現excel批量匯入

<?php


$dsn = "mysql:host=localhost;dbname=aveda3";//這就是資料來源,
$user = "root";//這個是伺服器的賬號,我的電腦上是這樣,就不知道你們的是不是,
$pwd = "root";//這是我電腦上的伺服器密碼,就是我沒設
//$pdo = new PDO($dsn, $user, $pwd);//例項化一個PDO連線
//$pdo->query("set names gbk");//設定從資料庫裡面傳遞過來的資料的編碼格式

try {
$dbh = new PDO($dsn, $user, $pwd); //初始化一個PDO物件
echo "連線成功<br/>";
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>");
}

include './PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
include './PHPExcel-1.8/Classes/PHPExcel.php';
$inputFileName = 'shuju.csv';

try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die('載入檔案發生錯誤:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}


$sheet = $objPHPExcel->getSheet(); // 確定要讀取的sheet
$highestRow = $sheet->getHighestRow();// 取得總行數
$highestColumn = $sheet->getHighestColumn();// 取得總列數
// 獲取行的資料
for($j=2;$j<=$highestRow;$j++){
$str="";
//從A列讀取資料
for($k='A';$k!=$highestColumn;$k++){
$str .=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'|*|';//讀取單元格
}
// print_r($str);die();
$strs = explode("|*|",$str);
// echo("<pre>");
// print_r($strs);
echo $strs[2] . "<br />";
$sql = " insert into oc_order ( ";
$sql .= " invoice_prefix, ";
$sql .= " store_id, ";
$sql .= " store_name, ";
$sql .= " customer_id, ";
$sql .= " customer_group_id, ";
$sql .= " store_id, ";
$sql .= " C ";

$sql .= " values ( ";
$sql .= " 'INV-2021-00', ";
$sql .= " 'Your Store', ";
$sql .= " '12', ";
$sql .= " 'Your Store', ";
$sql .= " '$strs[3]' ";
$sql .= " ) ";
$count = $dbh->exec($sql);
}

//隨便記錄一下 好像是未完成的 不過應該會給你思路