สมมุติเรามี excle
export จาก excel เป็นแฟ้มแบบ .csv ครับ (comma separated)
แล้วใช้คำสั่ง load data infile อะไรซักอย่างจากใน mysql ได้
ถ้า Excel อ่านบทความนี้ครับ (excle ไม่รู้จักครับ)
http://www.webthaidd.com/php/webthaidd_article_717_.html
อ้อ…อีกวิธี หาโปรแกรมประเภท Convert Excel to MySQL ดูครับ
ลองใช้ google ให้เป็นประโยชน์
ที่ผมทำนะครับ คือแปลง excle เอ้ย excel เป็น .csv ก่อน
import-csv.php
<form name="form1" enctype="multipart/form-data" action='import-csvck.php' method=post>
<input type=hidden name=todo value='import'>
Please specify a file to upload (.csv): <input name="uploadFile" type="file" id="uploadFile">
<INPUT type="Submit" name="Submit" value="Next">
</FORM>
import-csvck.php
<?
if(isset($todo) and $todo=="import"){
$file_type = $_FILES['uploadFile']['type'];
$dot=substr($_FILES['uploadFile']['name'],-4);
if($file_type==""){
echo("Error: Please select the file.");
exit;
}
else if($dot!=".csv"){
echo("Error: The server is only accepting .csv file.");
exit;
}
$file_name = $_FILES['uploadFile']['name'];
$show_file = $_FILES['uploadFile']['name'];
// strip file_name of slashes
$file_name = stripslashes("$file_name");
$file_name = str_replace("'","",$file_name);
$copy = copy($_FILES['uploadFile']['tmp_name'],$file_name);
// check if successfully copied
if($copy){
echo "Congratulation, File $show_file uploaded sucessfully.";
$row = 1;
$handle = fopen($file_name, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "$num fields in line $row:
";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "
";
}
}
unlink($file_name);
fclose($handle);
?>
ใช้ทำแบบครั้งเดียวจบ ก็ใช้โปรแกรม MySQL Front ครับ
ขั้นแรกสุด Set ODBC จากนั้นเปิดโปรแกรม MySQL Front มันจะมีเลือกให้ Inport ให้ทำการ Inport จาก ODBC ก็จะได้แล้วครับ
เป็นแต่ convert มือ โดยใช้ notepad ช่วย
Replace เอา Tab ออก แต่ที่ทำมี record แค่พันต้น
ลองใช้โปรแกรม Navicat นะครับ ตัวนี้อรรถประโยชน์เยอะดีครับ สำหรับ MySQL
ขอบคุณมากค่าสำหรับทุกคำตอบ เด๊วคืนนี้จะลองเอาไปทำดูจ้า
excel… ชอบหลงเป็น excle อยู่เรื่อย T-T
ไม่แน่ใจว่า mysql นี่อยู่บนโฮสติ้งหรือว่าเครื่อง pc เราเอง
แนะนำให้ติดตั้ง mysql server ลงในเครื่อง pc เราเองจะสะดวกกว่าครับ
เมื่อได้ข้อมูลที่อยู่ใน mysql เรียบร้อยแล้ว ทีนี้ก็ export ออกมาเป็น .sql แล้วก็เอาไป import เข้าโฮสติ้งได้สบาย
สำหรับวิธีการ import text ไฟล์เข้า mysql สามารถใช้คำสั่ง local infile ได้ครับ
ซึ่งคำสั่งนี้ถ้าเป็นโฮสติ้ง บางโฮสจะปิดไว้เนื่องจากความปลอดภัยของระบบ โดยเฉพาะถ้าใช้ DirectAdmin มันจะปิดมาให้ตอนติดตั้งเลย
ถึงแนะนำให้ทำในเครื่องเราเองก่อนครับ
วิธี import เข้า mysql ที่ง่ายที่สุดก็น่าจะเป็น mysqlfront หรือไม่ก็ navicat ครับ เป็นโปรแกรมเอามาติดตั้งแล้วก็เลือก import จากเมนูได้เลย import ไฟล์ excel ได้โดยตรง (navicat import excel 2007 ได้ด้วยครับ)
แต่ทั้งนี้ต้องสร้าง Table Mysql ที่มีโครงสร้างตามข้อมูลในไฟล์ excel ที่เรามีก่อนครับ ซึ่งถ้าใช้โปรแกรม 2 ตัวด้านบนก็ไม่ยากเช่นกัน
แนะนำให้โหลดตัวนี้มาครับ ทั้ง 2 ตัวสามารถใช้งานได้เต็มทุก function ในช่วงทดลอง 30 วัน
navicat ใช้ได้ดีทีเดียวครับ
ลองดูตามนี้ครับไม่จำเป็นต้องใช้เครื่องมือ