sql插入excel
1 connectstring關連excel文件,然後執行 select * into [aa.mdb.]表 from [sheet1$]
2 用兩個adoquery,分別連接資料庫,和Excel文件,然後用 while not eof do一條一條記錄移動另一個數據表裡
❷ 用sql語句向excel插入數據
沒裝office2007的就不可以用ace驅動,換成JET.OLEDB.4.0
沒表頭嗎?HDR=No;
另外插入時候關閉excel
❸ sql導入Excel
一個最直接的辦法就是找我,把excel數據變成insert腳本,直接在sqlserver資料庫引擎裡面執行。
❹ 如何用sql語句從excel導入sql中
我做過這個功能,分3步。
第一步,校驗Excel的數據是否符合條件,比如不能為空,數據類型不能沖突等等。
第二步,在資料庫里創建臨時表,表結構跟excel一模一樣。把數據從excel照搬到臨時表中。
第三步,根據過濾條件,把符合的數據從臨時表中insert到對象表中。
//新文件名稱
string newfile = name + lastName; //假定excel文件名 最終數據.excel
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../../File/") + newfile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
insertTempTable(strConn); //存入臨時表 包含第一步和第二步
insertAllTable(); //第三步
/// <summary>
/// 把數據從xls導入臨時創建表
/// </summary>
/// <param name="conn"></param>
public void insertTempTable(string conn)
{
string strConn = conn;
//這里假設excel欄位名稱為 欄位(序號,零件編號,零件名稱,數量,價格)
//excel表名稱為Matrixkey
string query = "SELECT [序號],[零件編號],[零件名稱],[數量],[價格] FROM [Matrixkey$] Where [零件編號] <> '' ";
OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(strConn));
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
DataSet PartsDataSet = new DataSet();
oleAdapter.Fill(PartsDataSet, "[Matrixkey$]");
DBAccess dba = DBAccessFactory.CreateAccess(); //這是我的資料庫操作類
//存儲過程 createtmptable 用來創建臨時表 結構跟excel一模一樣
dba.ExecuteProcere("createtmptable");
foreach (DataRow row in PartsDataSet.Tables[0].Rows)
{
if (row["價格"].ToString() == "")
{row["價格"] = "0.00";}
dba.ExecuteInsertSQL(row, "tmpparts"); //執行第2步 創建的臨時表叫tmpparts
}
}
/// <summary>
/// 執行最終的插入存儲過程
/// </summary>
public void insertAllTable()
{
DBAccess dba = DBAccessFactory.CreateAccess();
//存儲過程BuildRelation用來實現第3步 這個就簡單了 我寫個例子你看看
dba.ExecuteProcere("BuildRelation");
}
存儲過程:BuildRelation
insert into 對象表 --假設對象表欄位為 ID No Code Name Quantity Price 其中ID自增
select * from tmpparts
where 零件編號 not in (select Code from tmpparts)
學會了哇?
❺ 使用sql 語句,將數據插入到excel中
出發點是好的,但方法有問題.SQL數據可以導出至EXCEL,SQL數據的欄位也可以重新命名.
通過ODBC,SQL數據就直接導出至EXCEL,而且還可實時刷新.
❻ sql無法導入excel
ADDITIONAL INFORMATION:
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)
SQL Server 導入和導出向導
sql server 2017操作無法完成。未在本地計算機上注冊「Microsoft.ACE.OLEDB.12.0」提供程序。 (System.Data)
Import Data如果導入excel失敗,可能是沒有安裝相關的office組件。
有一些可以直接搜索相關的組件,安裝就ok,但是有的電腦就不行,或者暫時找不到相關的組件。我們可以變通來實現。主要就是導出為csv,或者用access中轉來實現導入數據。
1.可以嘗試把excel數據導出為csv
然後使用Import Flate File導入csv
導入成功後,會自動導入一張新表中。這樣可以直接使用sql進行操作了。
如果遇到csv不能正常識別數據。可以嘗試在最前邊增加id列。
2.打開access,新建一個空白的資料庫
導入excel。
然後在access中導出到資料庫,使用odbc
3.打開access,新建一個空白的資料庫
導入excel。
然後在sql server中導入access.
注意:使用的是sql server 2017,office 2016.電腦os是win10,如果版本差異,可能需要調整。但是這3個思路,可以借鑒.
❼ excel如何導入sql表
在SQL SERVER中右擊資料庫,選擇菜單「任務」--「導入數據」即可。
在導入過程中,勾選將第一行做為列標題就可以,你還可以定義每一欄位的欄位類型。
❽ sql server怎麼導入excel
1
先給大家說一下本次經驗的流程,我先從我的資料庫中找一個表,然後把表信息導出到Excel中,然後為了方便期間,我會將Excel表中的數據再導入到SQL資料庫中,當然會以一個新創建表的形式出現。Office的版本2003以後的都可以,過程大同小異。
2
先打開資料庫,至於資料庫相關的操作,我想不再多說了,因為這些經驗都是給差不多入門的朋友看的,如果你還不知道sql是個什麼東西,還不知道基本的操作,那對不住了親,這個經驗真不適合你哦。
3
新建一個Excel,直接從Excel的數據菜單中導入SQL資料庫表數據。選擇「數據」菜單:
4
然後選擇「導入外部數據」--「導入數據」:
5
選擇「新的SQL Server 連接.odc」,雙擊:
6
接下來,輸入伺服器名稱,然後登錄憑據,如果伺服器是本地的話,可以直接用「.」或者localhost,點下一步:
7
選擇要連接的資料庫,同時選擇要導出的表,然後點擊下一步:
8
然後定義一個文件名稱,點擊「完成」:
9
這時候輪到Excel的部分的,系統需要你指定一個存放數據的位置。
10
確定存在位置後,點擊「確定」:
11
ok,我們打開對應的資料庫表來比對一下,數據導出的是否是正確的:
SQL導入Excel表數據
1
選擇要導入的資料庫---任務---導入數據:
2
選擇excel數據源--瀏覽文件。注意如果excel中首行數據為欄位,應勾選「首行包含列名稱」。
3
按照提示單擊下一步後選擇伺服器填寫驗證信息和目標資料庫:
4
點擊下一步,確定導入的類型:
5
選擇資料庫--選擇源表和原視圖,如果不選則目標,則會在資料庫中自動生成同名的表,並把數據導入進去。
6
然後默認下一步,無須保存SSIS包,直接默認立即運行:
7
最後點擊完成:
❾ 怎麼寫sql語句將Excel的數據插入到SQL Server資料庫
方法和詳細的操作步驟如下:
1、第一步,准備Excel表,並希望將其導入SQL
Server 2012中的QearlTest資料庫,見下圖,轉到下面的步驟。
❿ sqlserver如何導入excel數據
1、選擇要導入的資料庫---任務---導入數據。