當前位置:首頁 » 編程語言 » sql08導入excel數據
擴展閱讀
怎麼清除預覽圖片的緩存 2022-11-30 14:15:11
c語言創建有序鏈表 2022-11-30 14:08:06

sql08導入excel數據

發布時間: 2022-11-24 22:52:23

① 怎麼將excel表導入sql server 2008

1、首先需要准備的是在電腦上創建一個Excel表格。
2、在SQL Server2008的企業管理器中選擇想要導出的資料庫

3、右擊選擇任務---->導出資料庫。

4、點擊導出數據,出現如圖界面。

5、單擊逗下一步地按鈕,就會出現選擇導出數據的數據源對話框,如圖所示。

6、單擊逗下一步地按鈕,則會出現選擇目的對話框,如圖所示。

7、選擇需要的目標,選擇以後就會出現下面的這個界面。

8、然後更改Excel文件路徑,還有Excel版本。
9、選定目標資料庫後,單擊逗下一步地按鈕,則出現指定表復制或查詢對話框。

10、選擇逗復制一個或多個表或視圖的數據地。
11、單擊逗下一步地按鈕,則出現選擇源表和視圖對話框。

12、可以多選也可以單選,這里選擇了一個。在這可以先預覽數據,也可以編輯映射。

13、單擊逗下一步地按鈕,則會出現保存、運行包對話框,如圖所示。

14、單擊逗下一步地按鈕,就會完成該向導對話框,如圖所示。

15、點擊完成,執行成功。

② 如何從Excel中向SQL SERVER 2008導入數據

第一步:建立資料庫和數據表(按照自己的Excel數據設立欄位)。
[sql] view plain 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 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 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 print?
$mysql=mysql_connect("localhost","root","") or die("資料庫連接失敗!");
mysql_select_db("php_excel",$mysql);
mysql_query("set names utf8");

我的導入效果如下:
至此,從Excel文件讀取數據批量導入到Mysql資料庫完成。

③ 請教如何將excle上面的數據批量導入至sql2008資料庫

在查詢分析器里,直接寫 SQL語句:
如果是導入數據到現有表,則採用形式
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
如果是導入數據並新增表,則採用形式
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
SQL2005中直接可以實現導入功能 SQL2008不知道可不可以。 操作過程如下:
第一步:登錄到 SQL Server Management Studio
第二步:在 「對象資源管理器 」中右鍵單擊 「管理 」,在彈出列表中單擊 「導入數據 」
第三步:在 「導入向導 」對話框中單擊 「下一步 」,進入到 「選擇數據源 」對話框,在 「數據源 」列表中選擇 「Microsoft Excel 」,同時選擇相應的 Excel 文檔,完成後單擊 「下一步 」(一定要勾選該對話框中的 「首行包含列名稱 」,因此它是將 Excel文檔中的列標題為資料庫表中的列項標題)
第四步:指定目標資料庫服務,依次單擊 「下一步 」。。。。至到 「完成 」
第五步:重新打到 SQL Server Management Studio,進入到導入的資料庫表,可以發現所導入的 Excel文檔數據。

④ sql2008怎麼導入excel

1、打開要導入的Excel文件,觀察第一列是為欄位還是數據

打開SQLServer,在需要導入的數據點擊右鍵 【任務】-【導入數據】
出現導入導出向導。

點擊下一步 ,進入【選擇數據源】頁面,注意紅框設置。

點擊下一步 ,進入【選擇目標】頁面,注意紅框設置。

點擊下一步 ,進入【指定表復制或查詢】頁面,注意紅框設置。

點擊下一步 ,進入【選擇源表和源視圖】頁面,注意紅框設置。

下一步,直到完成。出現【執行結果頁面】。

最後在SqlServer查詢表。

⑤ sql server 2008怎麼導入excel

1、選擇要導入的資料庫---任務---導入數據。

⑥ 如何在sqlserver2008中導入excel表數據並按列更改

那也是可以的,你excel表中條件列的值具有唯一性嗎
第一個問題直接update就行;
第二個使用not Exists查詢出資料庫不存在的記錄,然後將結果插入到資料庫對應的表

⑦ sql server 2008怎麼導入excel

1、首先需要准備的是在電腦上創建一個Excel表格。

2、在SQL Server2008的企業管理器中選擇想要導出的資料庫。

15、點擊完成,執行成功。

⑧ 怎樣把Excel文件資料導入SQL Server2008的資料庫的表中

Excel導入SQLserver的表中前,保證Excel的表中列的順序和資料庫表的列的順序保持一致,如果該列沒有值,可以為空白。 打開SQL企業管理器(Microsoft SQL Server Management Studio ) 建議用SA身邊登陸,如果Windows NT用戶具有同等許可權也可以登陸服務後,展開資料庫伺服器,會在最底下找到「管理」選項,單擊右鍵,選擇「導入數據」選項單擊數據導入選項後,會出現導入向導畫面,直接單擊「下一步」,按提示操作即可

⑨ sql server 2008可以直接導入excel嗎

--首先打開SSMS,然後點擊左上角的【新建查詢(N)】,在右邊彈出的窗口中輸入一下代碼: 代碼一: ---------------------------------------------------------------------------------------- use TEST --- 『TEST』是資料庫名字,你可以切換到你想要的資料庫或直接輸入資料庫名字 ----根據系統需要使用這幾段批處理命令打開相應功能 EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; GO ----以上為根據實際情況的可選命令 ----開始插入數據到TEST資料庫的一個新表中 select * into newtable_name from OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\ru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$] go ------------------------------------------------------------------------ P.S: 1: 執行這段代碼之前,你需要准備導入的數據。 我用的是Excel 2007, Excel文件的名字為「ru」,放在C盤目錄下。 2: 代碼中的select * into newtable_name from ... 這是把excel中的數據插入到TEST資料庫中,並同時新建表名為newtable_name存放插入的數據. 3: 代碼中的Office2007的資料庫驅動為「Microsoft.Ace.OLEDB.12.0」, 如果是Office2003的話應改成「Microsoft.Jet.OLEDB.4.0」, 還有Office2007中Excel的「Extended properties」中為「Excel 12.0」 而Office2003為「Excel 8.0」 4: 代碼中'Data Source="c:\ru.xlsx" 就是要導入數據的文件存放路徑. (注意後綴:Excel 2007的為.xlsx;Excel 2003的為.xls) 5: 代碼中的...[sheet1$] 為表名,格式為:[XXX$]或者XXX$,不需要中括弧也行,而且表名不能以數字開頭(其實這是幾乎所有編程語言的變數命名規則),切記! 沒有修改過名字的話,Excel默認是shee1,shee2,shee3.... 6: 當然,你也可以使導入的數據,不用新建表.而是直接導入到資料庫已有的表中, 只要稍微修改代碼就可以了. 代碼二: --------------------------------------------------------------------------------------- insert into 已存在的表名 (欄位一,欄位二) select A,B from OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\ru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$] go --------------------------------------------------------------------------------------- 代碼二中,A,B表示的意思是Excel中的A列和B列, 但是直接輸入A,B是沒有用的. 這里還要提醒一點,導入數據的時候,系統默認Excel的第一行數據是欄位名. 所以,你可以把Excel的第一行的前兩列數據改為A和B,這樣就可以了! 如果Excel中的列數和資料庫中的已存在的表的列數相等,也可以改成如下: 代碼三: --------------------------------------------------------------------------------------- insert into 已存在的表名 select * from OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\ru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$] go --------------------------------------------------------------------------------------- 當然,我們可以利用Data Import for Sql Server等工具來導入,也可以利用SQL Server 2008的DTS導入(在SQL Server Management Studio的選擇你要導入到的資料庫如:TEST,右鍵選擇「任務」——「導入數據」即可.