รบกวนสอบถามเรือง ถ้าต้องการ import ไฟล์จาก excel เข้าจากฐานข้อมูล mysql มีวิธีการทำอย่างไหรครับ
ศึกษา PHPExcel ก่อนครับ
http://phpexcel.codeplex.com/
ถ้าติดตรงใหนมาถามอีกทีครับ
ขอแก้ไขนิดนึงด้านบนเป้นทางเลือก ผมต้องขอสอบถามก่อนว่าจะทำการอ่านไฟล์มาเข้าหนือว่าจัเอาข้อมูลเข้าอย่างเดียวครับ
ถ้าต้องการอ่านไฟล์เข้าฐานข้อมูลโดนฝ่านททาง Browser ด้านบนเลยครับ PHPExcel แต่ถ้าต้องการเอาข้อมูลเข้าอย่างเดียวนั่นโปรแกรม Excel สามารถ สร้างเป็น CSV เพื่อนำไปใช้กับฐานข้อมูลได้ครับหรือเอาง่ายเลยผมจะใช้โปรแกรม Mysql Front ทำการอิมพอร์ทไฟล์หลาย ๆ รูปแบบเข้าสู่ MySQL ได้ครับรวมถึง ไฟล์ Excel ด้วย
ประวัติการแก้ไข 2014-07-21 15:21:18
Date :
2014-07-21 15:17:02
By :
soghband
ผมต้องการประมาณว่า
ต้องการเอาข้อมูลเข้าอย่างเดียวนั่นโปรแกรม Excel
อย่างเดียวครับมีขั้นตอนทำตรงนี้ไหมครับ
Date :
2014-07-21 15:36:18
By :
khoson
http://www.mysqlfront.de/
โปรแกรมนี้เลยครับช่วยได้ครับ ลองเล่นดูครับติดตรงใหนลอกถามดูครับ
Date :
2014-07-21 15:38:17
By :
soghband
ขอบคุณมากครับผมจะลอฃเอามาเล่นดูครับ
Date :
2014-07-21 15:44:39
By :
khoson
ตัว source code โหลดไม่ได้ครับ
Date :
2014-07-21 16:26:02
By :
khoson
มันโหลดได้นะ
Date :
2014-07-21 16:30:31
By :
arm8957
ได้แล้วครับขอบคุณครับ
Date :
2014-07-21 18:00:48
By :
khoson
พอจะมีหน้าสอนการใช้งานไหมครับ คือว่าใช้ไม่ถูกอ่ะครับ มีหน้าเวปสอนทำตัวนี้ไหมครับ ขอบคุณครับ
Date :
2014-07-21 18:05:11
By :
khoson
ถ้าในเครืองผมมี mysql อยุ่แล้วจำเป็นต้องใช้ Mysql_font ไหมครับ
คือถ้าผมต้องการ import จาก ไฟล์ excel จะต้องทำอย่างไหรครับ
ประวัติการแก้ไข 2014-07-22 08:16:47
Date :
2014-07-22 08:08:09
By :
khoson
วิธีใช้เบื้องต้น
การเชื่อต่อ
1.File > Open Connection จะมีไดอลอกบ๊อกขึ้นมาให้ใส่
2.กด New
- ถ้าเป้นเครื่องตนเอง Host ใส่ localhost
- ถ้าเป็เครื่องโฮสให้ใส่ Host ใส่ไอพีของโฮส
- Username ใส่ดาต้าเบส Username โดยปรกติจะเป็น Root
- Password ใส่ดาต้าเบส Password ที่เราตั้งไว้
- กด OK
3.ดับเบิลคลิกเลือกการเชื่อต่อที่สร้างไว้ โปรแกรมจะทำการเชื่อต่อเข้าฐานข้อมูล
วิธีการใช้
1.การสร้างฐานข้อมูลใหม่
- คลิกขวาที่ Root ชื่อคอนเนทชั่นที่เราตั้งไว้
- เลือก New > Database
2.การสร้างตารางใหฟม่
- คลิกขวาที่ ฐารข้อมูล
- เลือก New > Table
3.การสร้างฟิลด์
- คลิกขวาที่ เทเบิล
- เลือก New > Field
MySQL Front เป็นโปรแรกมจัดการฐานข้อมูล MySQL ครับจะลงก็ได้ไม่ลงก็ได้มันคล้ายกับเราเล่น PHPMyAdmin
วิธีการคือคลิกขวาที่ Table ที่จะเอาข้อมูลเข้าเลือก Import > Microsoft Excel File
ประวัติการแก้ไข 2014-07-22 09:34:20
Date :
2014-07-22 09:03:46
By :
soghband
ครับผม คือผมลองใช้วิธีนี้น่ะครับ
เปลี่ยนนามสกุลไฟล์เป็น .xml โดยปกติไฟล์ Excel จะมีนามสกุลเป็น .xls ก็ให้เปลี่ยนเป็นนามสกุล .xml
วิธีการเปลี่ยนก็คือเปิดไฟล์ Excel ที่ต้องการขึ้นมาแล้วไปที่ File > Save as แล้วเลือกชนิดไฟล์เป็น XML Spreadsheet(*.xml) แค่นี้เราก็จะได้ไฟล์ใหม่นามสกุล .xml ครับ
code 1
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form enctype="multipart/form-data" action="import.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input name="file" type="file" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
code 2
Code (PHP)
<?php
if ( $_FILES['file']['error'] ) {
die("upload error ");
}
//======Connect DB======================//
$m_host = "localhost";
$m_user = "root";
$m_pass = "pwd";
$m_name = "dbname";
mysql_connect($m_host,$m_user,$m_pass);
mysql_select_db($m_name);
mysql_query("SET NAMES UTF8");
//======End Connect DB======================//
//======Get data from Excel======================//
$dom = DOMDocument::load( $_FILES['file']['tmp_name'] );
$rows = $dom->getElementsByTagName( 'Row' );
$row = 0;
foreach ($rows as $temp) {
$col = 0;
if($row==0) {
$row++; continue;
}
$cells = $temp->getElementsByTagName('Cell');
foreach( $cells as $cell ) {
if($col==0) $data1 = $cell->nodeValue;
if($col==1) $data2 = $cell->nodeValue;
if($col==2) $data3 = $cell->nodeValue;
if($col==3) $data4 = $cell->nodeValue;
if($col==4) $data5 = $cell->nodeValue;
$col++;
}
//======End Get data from Excel======================//
//==================Insert To DB ====================================//
$sql = " INSERT INTO table_name (";
$sql .= " field_1, ";
$sql .= " field_2, ";
$sql .= " field_3, ";
$sql .= " field_4, ";
$sql .= " field_5 ";
$sql .= " ) VALUES ( ";
$sql .= " '$data1', ";
$sql .= " '$data2', ";
$sql .= " '$data3', ";
$sql .= " '$data4', ";
$sql .= " '$data5' ";
$sql .= " ) ";
mysql_query($sql) or die(mysql_error());
//==================End Insert To DB ====================================//
$row++;
}
mysql_close();
?>
แต่ยังติดคำว่า
Table 'alumni.table_name' doesn't exist
พอทำได้แล้วครับ แต่ผมมาถูกทางไหมคัรบ ขอบคุณครับ
ประวัติการแก้ไข 2014-07-22 09:35:05
Date :
2014-07-22 09:34:04
By :
khoson
ถ้าได้ข้อมูลตามต้องการก็ไม่มีอะไรผิดครับ
Date :
2014-07-22 09:36:51
By :
soghband
ปัญหาคือข้อมูลเป็นภาษาที่อ่านไม่ออกครับ
Date :
2014-07-22 09:50:09
By :
khoson
อาจมีปัญหาที่การกำหนด Encode ขณะเปิดใช้งานหน้าเว็บครับลองกำหนด Encode ดูครับเรื่อง Encode เป็นปัญหาระดับต้น ๆ ที่นักพัฒนาต้องศึกษานะครับมี 3 ด้านด้วยกัน
1.File System
2.Web Page Encode
3.Database Character
Date :
2014-07-22 10:09:36
By :
soghband
ครับผม ขอบคุณครับ
Date :
2014-07-22 10:21:44
By :
khoson
Load balance : Server 04