您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何讀取Excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇php如何讀取Excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù)文章都會(huì)有所收獲,下面我們一起來看看吧。
安裝 PHPExcel
PHPExcel是一個(gè)用于讀取和處理Excel文件的PHP庫(kù)。您可以從官方網(wǎng)站下載PHPExcel庫(kù),也可以使用Composer安裝。使用Composer的話,只需要在composer.json文件中添加以下代碼即可:
{
"require": {
"phpoffice/phpexcel": "1.8.*"
}
}
在命令行中執(zhí)行composer update
命令,Composer將自動(dòng)安裝PHPExcel庫(kù)。
創(chuàng)建Excel文件
在導(dǎo)入Excel數(shù)據(jù)之前,您需要有一個(gè)Excel文件。您可以通過Microsoft Excel等軟件創(chuàng)建一個(gè)Excel文件。注意,您需要將Excel文件保存為.xls或.xlsx格式。另外,Excel文件的第一行應(yīng)該是表頭,即列名稱。例如:
ID | Name | Age | |
---|---|---|---|
1 | John | 25 | john@gmail.com |
2 | Mary | 30 | mary@yahoo.com |
3 | David | 35 | david@outlook.com |
讀取Excel文件
使用PHPExcel讀取Excel文件很簡(jiǎn)單。只需要按照以下步驟操作:
require_once 'vendor/autoload.php'; // 引入PHPExcel庫(kù)
$path = 'example.xlsx'; // Excel文件路徑
// 創(chuàng)建PHPExcel對(duì)象
$excel = PHPExcel_IOFactory::load($path);
// 獲取Excel的第一個(gè)工作表
$sheet = $excel->getActiveSheet();
// 獲取工作表中的行數(shù)和列數(shù)
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// 遍歷每一行
for ($row = 2; $row <= $highestRow; $row++) {
// 獲取每一行的數(shù)據(jù)
$id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
$name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
$age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
$email = $sheet->getCellByColumnAndRow(3, $row)->getValue();
// 在此處可以將行數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中
}
在以上示例中,我們使用PHPExcel庫(kù)的load()
方法創(chuàng)建PHPExcel對(duì)象,并從Excel文件中加載數(shù)據(jù)。然后,我們獲取Excel文件的第一個(gè)工作表,并使用getHighestRow()
和getHighestColumn()
方法獲取行數(shù)和列數(shù)。最后,我們遍歷每一行,使用getCellByColumnAndRow()
方法獲取每一行的單元格數(shù)據(jù),并將其插入到數(shù)據(jù)庫(kù)中。
數(shù)據(jù)庫(kù)插入
將Excel文件中的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中,可以使用SQL INSERT語句。因此,您需要首先連接到數(shù)據(jù)庫(kù),然后將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。
// 連接到數(shù)據(jù)庫(kù)
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 插入數(shù)據(jù)到數(shù)據(jù)庫(kù)中
for ($row = 2; $row <= $highestRow; $row++) {
$id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
$name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
$age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
$email = $sheet->getCellByColumnAndRow(3, $row)->getValue();
$sql = "INSERT INTO myTable (id, name, age, email)
VALUES ('$id', '$name', '$age', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close(); // 關(guān)閉數(shù)據(jù)庫(kù)連接
在以上示例中,我們使用mysqli連接到MySQL數(shù)據(jù)庫(kù)。在每一行數(shù)據(jù)中,我們使用SQL INSERT語句將數(shù)據(jù)插入到myTable表中。如果插入成功,我們將會(huì)看到“New record created successfully”的消息,否則將會(huì)輸出錯(cuò)誤信息。
關(guān)于“php如何讀取Excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“php如何讀取Excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。