10/10/2018, 00:19

Import dữ liệu từ Excel vào DB= PHP & MySQL

Nhờ bà con chỉ giúp cách Import dữ liệu từ file Excel vào cơ sở dữ liệu MySQL.
Hynohun viết 02:32 ngày 10/10/2018
Hồi trước H cũng có làm về cái này nhưng quăng source đi mất tiêu rồi.
Hồi đó cũng lên Google search rồi tự mày mò thôi, bạn có thể dùng keyword "Convert Excel to MySQL using PHP" (không có "") để search trong Google

Good luck
MichaelTuanAnh viết 02:28 ngày 10/10/2018
mình chưa thử bằng php, mình chỉ đọc bằng Java thôi, mình thấy đọc excel cũng giống như Access vậy, thông qua driver Microsoft Excel Driver (*.xls);DBQ=
không biết bên php có gì khác không bạn thử xem, nhưng mình báo trước là không đọc được tiếng Việt
trungvec viết 02:29 ngày 10/10/2018
<?php
class DB_X
{
var $Database = "";
var $User = "";
var $Password = "";
var $Con = 0;
var $Rst = 0;
var $Record = array();
var $Row;
var $Errno = 0;

function DB_X($dbname){
$this->Database=$dbname;
if($this->Con == 0)
{
$this->Con = new COM("ADODB.Connection");
if (!$this->Con)
{
$this->halt("Link_ID == false, connect failed");
}
//$this->Con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$this->Database.";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
$this->Con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$this->Database.";Extended Properties='Excel 8.0;HDR=Yes'");
$this->Rst = new COM("ADODB.Recordset");
}
}

function halt($msg)
{
echo("</TD></TR></TABLE><B>Database error:</B> $msg<BR>\n");
echo("<B>MySQL error</B>: $this->Errno ($this->Error)<BR>\n");
die();
}

function query($Query_String)
{
@$this->clear_result();
$this->Rst->Open($Query_String,$this->Con,0,1);
$this->Row = 0;
$this->Errno = mysql_errno();
$this->Error = mysql_error();
if (!$this->Rst)
{
$this->halt("Invalid SQL: ".$Query_String);
}
return $this->Rst;
}

function result($field){
$fv=$this->Rst->Fields($field);
return $fv->value();
}

function pagesize($size){
$this->Rst->PageSize = $size;
$this->Rst->CursorLocation = 3;
}

function curpage($page){
if(!$this->is_eof())
$this->Rst->AbsolutePage = $page;
else return false;
}

function is_eof(){
return $this->Rst->EOF;
}

function move_next()
{
if(!$this->Rst->EOF){
$this->Rst->MoveNext();
return true;
}
else return false;
}

function num_rows()
{
return $this->Rst->RecordCount();
}

function clear_result(){
@$this->Rst->Close();
}

function close()
{
if($this->Rst != 0){
@$this->Rst->Close();

@$this->Con->Close();

@$this->Rst->Release();
@$this->Con->Release();

@$this->Rst = NULL;
@$this->Con = NULL;
}
}
}
?>


ví dụ:
$db=new DB_X('C:\test.xls');
$db->query("SELECT * FROM [sheet1$] WHERE user='aaa'");
while(!$db->is_eof()){
echo $db->result('hoten');
$db->move_nex();
}
effort viết 02:32 ngày 10/10/2018
hôm nay search thấy code này nhưng không hiểu kí tự @ nghĩa là gì. Mong bác nào giải thích dùm. Thank nhiều
zoejoe viết 02:31 ngày 10/10/2018
bỏ qua thongbáo lỗi nếu có lỗi xảy ra!
namhoang viết 02:24 ngày 10/10/2018
Được gửi bởi MichaelTuanAnh
mình chưa thử bằng php, mình chỉ đọc bằng Java thôi, mình thấy đọc excel cũng giống như Access vậy, thông qua driver Microsoft Excel Driver (*.xls);DBQ=
không biết bên php có gì khác không bạn thử xem, nhưng mình báo trước là không đọc được tiếng Việt
Tôi có cách đọc được tiếng Việt rồi. Đơn giản cực!
effort viết 02:30 ngày 10/10/2018
zoejoe wrote:
Code:
bỏ qua thông báo lỗi nếu có lỗi xảy ra!
bạn tìm cho minh link nói về cái đó được không. mình tìm trong php.net không thấy. Thank

namhoang wrote:
Code:
Tôi có cách đọc được tiếng Việt rồi. Đơn giản cực!
bạn có thể nói cụ thể hơn không
namhoang viết 02:23 ngày 10/10/2018
Được gửi bởi effort
zoejoe wrote:
Code:
bỏ qua thông báo lỗi nếu có lỗi xảy ra!
bạn tìm cho minh link nói về cái đó được không. mình tìm trong php.net không thấy. Thank

namhoang wrote:
Code:
Tôi có cách đọc được tiếng Việt rồi. Đơn giản cực!
bạn có thể nói cụ thể hơn không
Cực đơn giản. Dịch toàn bộ file cần up thành font NCR decimal rồi up. Chết luôn!
Bài liên quan
0