SQLserver呼叫Excle資料

2021-07-22 17:15:09 字數 1267 閱讀 9168

簡介:當我們在遇到資訊不是在資料庫中,而是在excle中的時候,就需要讀取到資料庫中。

首先需要知道這張excle表的路徑。其次:在資料庫中寫

select *
from openrowset
(
'microsoft.jet.oledb.4.0',
'excel 8.0;database=d:\zl\student.xls',
'select * from [info$]'
)
--1.excle處於關閉狀態,即不能處於被開啟狀態。
--2.excle檔案所處路徑及檔名、工作服的名稱不要出現漢字,盡量以英文命名
--3

'select * from [info$]'

後面的$

是必須的。

當我們讀取到資料庫中的時候,會出現第一行全部是為null值,還多出了兩列。這個原因是出現了合併單元格不僅有列方面的合併單元格,還有行方面的合併單元格。

解決方法為:

可以通過

where條件字句判斷,讀取到需要的資料

**:

select 姓名,年齡,班級,成績 as 語文成績,f5 as 數學成績,f6 as 英語成績
from openrowset
(
'microsoft.jet.oledb.4.0',
'excel 8.0;database=d:\zl\student.xls',
'select * from [info$]'
)
where 姓名 is not null
結果:解決了第一行為

null值。

這樣結果是我們期待的。如果還有一張表和這張表類似,該如何處理呢?比較好的乙個方法是準備excle模組,

將資料盡量複製至該模版中,我們只需按照這個模版,寫一套可以操作該錶的sql語句即可

再次讀取該錶:

select 姓名,年齡,班級,語文成績,數學成績,英語成績
from openrowset
(
'microsoft.jet.oledb.4.0',
'excel 8.0;database=d:\zl\student.xls',
'select * from [info$]'
)

excl 到表工具

邏輯 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.tex...

Java呼叫SQL Server儲存過程

儲存過程 create proc proc test username char 10 userpassword char 10 userage int,outdata int output asdeclare userid int if exists select username from te...

C 呼叫SQL Server儲存過程

建表 create table sale report sale date datetime not null sale item varchar 2 not null sale money decimal 10,2 not null,primary key sale date,sale item ...