怎樣把大量Excel數據導入到MySQL數據庫
方法/步驟
首先我們需要在mysql管理工具上面新建一個表,也可以用mysql命令創建,表建立完成之后,你需要將表中的字段名字告訴給填寫excel表的人員.
打開excel表,按照程序提供的字段填寫相應的數據.此時注意下面幾點:名字(我用紅色標示出來了)需要跟程序提供的一樣,其他的描述,表頭可以不寫都行.
我使用的mysql管理工具是navicat
for
mysql,打開工具,選擇表所在的數據庫,然后點擊數據庫名字,右鍵數據,出來下拉菜單選擇import
wizard
,有漢化版本的更明確.彈出一個選擇界面,我們選擇excel
file文件
點擊next(下一步),我們選擇我們對應的excel文件就行,然后再下面選在我們的文件內容在哪一個sheet中,也就是你的內容寫在excel什么地方,這點需要注意,也是關鍵的地方,我的內容在sheet3中,所以我選擇sheet3
,如圖:
點擊next
(此步驟也是關鍵步驟),需要注意2點:
1:filed
name
row
就是你的字段所在excel中的位置,也就是第幾行(簡單辦法,一般就是英文對應的那一列).2:first
data
row(從哪一行開始執行),數據從哪一行開始呢,我這里選擇的是3,4.
點擊next
我們選擇
target
table
目標對應的數據庫,選擇你要導入到哪個數據庫中表中.
7
如果到上面一步沒有問題的話,我們默認next到最后
就行了.然后打開表就能看到數據跟excel表中的一樣.
1.將選中的數據快兒拷貝到一個TXT文本文件中(記得把后面的空格消掉。。否則導入數據庫后會有對應的空行),假如存到“D:\data.txt”這個位置里。
2.根據要導入的數據快兒建立MySql數據庫和表,然后進入命令提示符里使用命令
load
data
local
infile
'D:/data.txt'
into
table
exceltomysql
fields
terminated
by
'\t';
注意:盤符我使用的“/”才成功,否則提示找不到文件
下面文章中是用的“\”!
進行導入操作
手動進行Excel數據和MySql數據轉換
如何將excel中數據導入到mysql數據庫
1、先在mysql管理工具上面新建一個表,也可以用mysql命令創建。表的字段要和EXECL上對應的數據相對應。
2、使用mysql的第三方管理工具,如Navicat for MySQL,打開工具,選擇表所在的數據庫,然后點擊數據庫名字,右鍵數據,出來下拉菜單選擇import wizard ,有漢化版本的更明確,在彈出一個選擇界面,直接選擇excel file文件。
3、點擊next(下一步),選擇對應的excel文件確定,然后再下面選擇表中對應的sheet。
4、選擇后,再點擊next (此步驟也是關鍵步驟),需要注意2點: 1:filed name row 就是字段所在excel中的位置,也就是第幾行(簡單辦法,一般就是英文對應的那一列)。2:first data row(從哪一行開始執行),如果沒有表頭名稱,直接就是數據的,就是1。
5、再點擊next,選擇 target table 目標對應的數據庫,選擇要導入到哪個數據庫中表中。
6、如果到上面一步沒有問題的話,默認next到最后就行了。然后打開Mysql表就能看到數據跟excel表中的一樣數據了。
1.將選中的數據快兒拷貝到一個TXT文本文件中(記得把后面的空格消掉。。),假如存到“D:\data.txt”這個位置里。
2.根據要導入的數據快兒建立MySql數據庫和表,然后進入命令提示符里使用命令
load data local infile 'D:\data.txt' into table exceltomysql fields terminated by '\t';
(如果要設置編碼的話需要在fields前面加 character set utf8)
進行導入操作
如何將Excel的數據導入到MySql數據庫中
1.使用PHP
Excel Parser Pro軟件,但是這個軟件為收費軟件;
2.可將EXCEL表保存為CSV格式,然后通過phpmyadmin或者SQLyog導入,SQLyog導入的方法為:
·將EXCEL表另存為CSV形式;
·打開SQLyog,對要導入的表格右擊,點擊“導入”-“導入使用加載本地CSV數據”;
·在彈出的對話框中,點擊“改變..”,把選擇“填寫excel友好值”,點擊確定;
·在“從文件導入”中選擇要導入的CSV文件路徑,點擊“導入”即可導入數據到表上;
3.一個比較笨的手工方法,就是先利用excel生成sql語句,然后再到mysql中運行,這種方法適用于excel表格導入到各類sql數據庫:
·假設你的表格有A、B、C三列數據,希望導入到你的數據庫中表格tablename,對應的字段分別是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下:
1)增加一列(假設是D列)
2)在第一行的D列,就是D1中輸入公式:
=CONCATENATE("insert into tablename (col1,col2,col3) values (",A1,",",B1,",",C1,");")
3)此時D1已經生成了如下的sql語句:
insert into table (col1,col2,col3) values ('a','11','33');
4)將D1的公式復制到所有行的D列(就是用鼠標點住D1單元格的右下角一直拖拽下去啦)
5)此時D列已經生成了所有的sql語句
6)把D列復制到一個純文本文件中,假設為sql.txt
·把sql.txt放到數據庫中運行即可,你可以用命令行導入,也可以用phpadmin運行。
第一步:建立數據庫和數據表(按照自己的Excel數據設立字段)。
[sql] view plain copy print?
CREATE DATABASE php_excel;
USE php_excel;
CREATE TABLE IF NOT EXISTS php_excel(
id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
gid varchar(20) NOT NULL,
stu_no varchar(20) NOT NULL,
name varchar(45) NOT NULL,
age int(4) NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
第二步:前臺index.php文件。
[html] view plain copy print?
<!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>phpexcel導入excel數據到MYSQL數據庫</title>
</head>
<body>
<form name="frm1" action="insertdb.php" method="post" enctype="multipart/form-data">
<input name="filename" type="file" />
<input name="submit" type="submit" value="import" />
</form>
</body>
</html>
第三步:向數據庫插入數據的insertdb.php文件。
[php] view plain copy print?
session_start();
header("Content-type:text/html;charset:utf-8");
//全局變量
$succ_result=0;
$error_result=0;
$file=$_FILES['filename'];
$max_size="2000000"; //最大文件限制(單位:byte)
$fname=$file['name'];
$ftype=strtolower(substr(strrchr($fname,'.'),1));
//文件格式
$uploadfile=$file['tmp_name'];
if($_SERVER['REQUEST_METHOD']=='POST'){
if(is_uploaded_file($uploadfile)){
if($file['size']>$max_size){
echo "Import file is too large";
exit;
}
if($ftype!='xls'){
echo "Import file type is error";
exit;
}
}else{
echo "The file is not empty!";
exit;
}
}
require("./conn.php"); //連接mysql數據庫
//調用phpexcel類庫
require_once 'PHPExcel.php';
require_once 'PHPExcel\IOFactory.php';
require_once 'PHPExcel\Reader\Excel5.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
$arr_result=array();
$strs=array();
for($j=2;$j<=$highestRow;$j++)
{
unset($arr_result);
unset($strs);
for($k='A';$k<= $highestColumn;$k++)
{
//讀取單元格
$arr_result .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().',';
}
$strs=explode(",",$arr_result);
$sql="insert into php_excel(gid,stu_no,name,age) values ($strs[0],'$strs[1]','$strs[2]',$strs[3])";
echo $sql."<br/>";
mysql_query("set names utf8");
$result=mysql_query($sql) or die("執行錯誤");
$insert_num=mysql_affected_rows();
if($insert_num>0){
$succ_result+=1;
}else{
$error_result+=1;
}
}
echo "插入成功".$succ_result."條數據!!!<br>";
echo "插入失敗".$error_result."條數據!!!";
其中conn.php代碼如下:
[php] view plain copy print?
$mysql=mysql_connect("localhost","root","") or die("數據庫連接失敗!");
mysql_select_db("php_excel",$mysql);
mysql_query("set names utf8");
我的導入效果如下:
至此,從Excel文件讀取數據批量導入到Mysql數據庫完成。
將Excel的數據導入到MySql數據庫中方法詳見:http://jingyan.baidu.com/article/fc07f9891cb56412ffe5199a.html
c#中如何把excel數據批量導入mysql數據庫
之前做過一個導入sqlserver的,是用bcp從dataset導入到數據庫。現在換mysql有點不一樣,不能用bcp。求大神寫個代碼給我吧。rn目前是將excel中的數據全部存入dataset中了,但并不知道表中的列名和具體個數,所以直接用insert語句有困難。如果你有別的更快方法導入就另寫一個吧。你要把整個Excel文件數據存到數據庫嗎?如果是,明天給你代碼(
首先你要將保存Excel內容的字段設置成image類型,假設表名[file],字段為file_content
void ImportExcel()
{
}
)
相關推薦:
怎樣辦理韓國專利申請(怎么申請韓國發明專利 有哪些流程)
如何認定假冒注冊商標罪(假冒注冊商標商品罪的認定)
如何查詢商標(已注冊商標查詢在哪里可以查詢)
侵犯軟件著作權怎樣賠償(軟件著作權侵權賠償標準)
商標訴訟流程是怎么樣的(商標侵權起訴流程)