當前位置:首頁 » 編程語言 » sql調用excel

sql調用excel

發布時間: 2022-12-30 18:32:31

『壹』 如何把sql的數據表導入到excel中

一、在EXCEL中
新建一列,如把列名定為ab,下面放你的數據,比如1,2,3……
二、打開SQL
企業管理器

右擊
你所需要導入的資料庫,選擇導入數據,下一步,數據源選擇Microsoft
Eccel
97-2000,選擇excel文件繼續下一步,往下按,選擇Sheet1$或者2,3
看你把數據放在那一頁,點轉換可以根據你自己需要設置一些欄位屬性,目的里改一下表的名字(如果是要往已存在的表裡插數據,應該要選擇往目的表中追加數據,但
欄位名
應該要一樣,如果是添加新建表,選擇創建目的表),新建表的話,表名自己隨便寫什麼好了,容易記就好。設置完了就點下一步就導入了。當然可以先預覽一下。
如果不熟悉,建議還是添加新建表吧,再用insert語句把導入的數據插入到你所需要插入的表裡。

『貳』 Excel表中連接sql並使用sql語句引用excel單元格數據作為查詢條件

1、將需要處理的記錄復制到一個新的工作表,然後將在資料庫表中存在唯一值的列(比如物料編碼)後插入一列,用 CONCATENATE函數將其前後加上「'」。

『叄』 如何用SQL語句查詢Excel數據

SQL語句查詢excel數據???
excel無法直接用sql語句,若確定是這個問題,最簡單的解決辦法時需要先將excel導入access資料庫(其它資料庫都可),然後再在access中用sql語句查詢。

『肆』 怎麼用sql語句讀取excel文件啊

//for get driver...
char szBuf[2001];
WORD cbBufMax = 2000;
WORD cbBufOut;
char *pszBuf = szBuf;
CString sDriver;

//for read the file...
CDatabase database;
CString sSql;
CString sItem1,sItem2;
CString sDsn;
CString sFile;

//-------------------在這里把sFile賦值為你要讀取的xls文件的文件名.

///////////////////////////////////////
// Get the names of the installed drivers
//////////////////////////////

if(!SQLGetInstalledDrivers(szBuf,cbBufMax,& cbBufOut))
sDriver="";
else
{
// Search for the driver...
do
{
if( strstr( pszBuf, "Excel" ) != 0 )
{
// Found !
sDriver = CString( pszBuf );
break;
}
pszBuf = strchr( pszBuf, '\0' ) + 1;
}
while( pszBuf[1] != '\0' );
}

// Retrieve the name of the Excel driver. This is
// necessary because Microsoft tends to use language
// specific names like "Microsoft Excel Driver (*.xls)" versus
// "Microsoft Excel Treiber (*.xls)"
// sDriver = GetExcelDriver();

if( sDriver.IsEmpty() )
{
AfxMessageBox("No Excel ODBC driver found");
exit(0);
}

sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);

TRY
{
// Open the database using the former created pseudo DSN
database.Open(NULL,false,false,sDsn);

// Allocate the recordset
CRecordset recset( &database );

// Build the SQL string
// Remember to name a section of data in the Excel sheet using "Insert->Names" to be
// able to work with the data like you would with a table in a "real" database. There
// may be more than one table contained in a worksheet.

sSql = "SELECT [A],[B]" //把A,B為xls文件裡面的列,如果要讀取多列的話,用,隔開
"FROM [Sheet1$] " //xls文件裡面的第一個表,如果xls文件里的第一個表不是Sheet1這個名字的話,最好改為Sheet1
"ORDER BY [A],[B]"; //從小到大輸出,A列為一級,B列為二級

// Execute that query (implicitly by opening the recordset)
recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly);

// Browse the result
while( !recset.IsEOF() )//不斷讀取A,B列的數據
{
//Read the result line
recset.GetFieldValue("A",sItem1); //把A列的數據傳給sItem1
recset.GetFieldValue("B",sItem2); //把B列的數據傳給sItem2
//注意!這里的sItem1,sItem2是不斷更新的

// Close the database
database.Close();
}

CATCH(CDBException, e)
{
// A database exception occured. Pop out the details...
AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;

『伍』 使用SQL語句如何對Excel工作表數據進行查詢

SQL語句是一種標準的資料庫語言,其可以在任何關系型資料庫管理系統中使用。在 Excel 表格中,使用SQL語句可以實現對Excel工作表數據進行查詢的 方法 。以下是我為您帶來的關於使用SQL語句對Excel工作表數據進行查詢,希望對您有所幫助。

使用SQL語句對Excel工作表數據進行查詢

1、啟動Excel並打開工作簿,在這個工作簿中,工作表Sheet1放置商品信息記錄,如圖1所示;工作表Sheet2用於對商品記錄進行查詢,其結構如圖2所示。

圖1放置商品信息記錄的工作表

圖2用於商品記錄查詢的工作表

2、打開Visual Basic編輯器,在工程資源管理器中插入一個模塊,在模塊的「代碼」窗口中輸入如下程序代碼:

Sub CheckData()

Dim cnn As ADODB.Connection '聲明連接對象變數

Dim rs As ADODB.Recordset '聲明記錄集對象

Dim strSql As String

Dim str As String

On Error Resume Next

Set cnn=CreateObject("ADODB.Connection") '創建連接對象變數

Set rs=CreateObject("ADODB.Recordset") '創建記錄集對象記錄

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"_&"Extended Properties=Excel 8.0;"_&"Data Source="&ThisWorkbook.FullName

str=ActiveSheet.Range("B1").Value '獲取當前單元格內容

strSql="Select*FROM[Sheet1$]Where商品like '%"&str&"%'"'創建數據篩選命令

rs.Open strSql,cnn,adOpenStatic

With ActiveSheet

.Range("A4:D100").ClearContents '清除單元格記錄

.Range("A4").CopyFromRecordset rs '復制篩選結果

End With

rs.Close

cnn.Close

Set rs=Nothing

Set cnn=Nothing

End Sub

3、首先在Sheet2工作表中輸入需要查詢的商品名稱,如圖3所示。運行CheckData()過程,在Sheet2工作表中將列出查詢結果,如圖4所示。

圖3輸入商品名稱

圖4獲得查詢結果


使用SQL語句如何對Excel工作表數據進行查詢相關 文章 :

★ excel2007使用sql語句查詢的方法

★ excel2007寫sql語句的教程

★ 如何將excel數據導入sql的方法

★ Excel2013使用教程基礎

★ excel數據導入SQL資料庫的教程

★ excel表導入sql資料庫的教程

★ excel導入sqlserver資料庫方法

★ 計算機英語

★ excel表格製作教程

var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

『陸』 如何用SQL語句查詢Excel數據

在宏編輯界面中進行SQL數據查詢以及生成報表的代碼如下:
Sub Static()
Dim objNewWorkbook As Workbook '定義一個Workbook對象
Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "\模板.xlt") '使用模板文件新建一個EXCEL報表生成文件
Set objConnection = CreateObject("ADODB.Connection") '創建一個ADO連接
objConnection.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & ThisWorkbook.FullName '設置連接字元串
strCommand = "select 施工人, count(*) as 拆電話 from [" & Sheet1.Name & "$] where 施工動作 = '拆' and 專業類型 = '電話' group by 施工人" '查詢表單一中的數據源進行統計
?objNewWorkbook.Sheets(1).Range("A3").CopyFromRecordset objConnection.Execute(strCommand)
2.將查詢統計結果輸出到目的報表文件的表單1的從A3開始的區域中
3.下面代碼是調用EXCEL的排序方式進行漢字排序,這里SQL語句中的排序對於漢字排序與期望結果不同
4.使用EXCEL中的排序方法是根據EXCEL版本不同調用有所區別
Select Case Application.Version
Case "11.0":
objNewWorkbook.Sheets(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=objNewWorkbook.Sheets(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
objNewWorkbook.Sheets(1).Sort.SortFields.Clear
objNewWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=x

『柒』 如果excel中想使用sql語句怎麼使用

在execl中無法使用sql語句!因為excel沒有內嵌sql語言,如果非想使用,那麼你應該選用access而不是excel。但是在sql
server等資料庫中可以使用excel,也就是將excel轉成資料庫。
否則,只能使用excel中自帶的各種函數實現。比如你要統計一個數據范圍,可以考慮使用if,如果計數的話,可以考慮使用ifcount,等等還有類似的平均值等統計函數均可以在excel中查看!
如果是對輸入值有限制的話,可以考慮使用vba進行宏編輯!

『捌』 如何用sql查詢excel數據

在通過ADO對Excel對象進行連接時(此時Excel則認為是一個數據源),需要配置對Excel數據源對應的連接串,這個連接串中包括了Provider信息(其實類似對資料庫進行連接操作時,都需要指定連接字元串),以下是一行連接串源代碼: strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties=Excel 12.0" 這里的Provider使用了Microsoft.ACE.OLEDB.12.0,其實除了Microsoft.ACE.OLEDB.12.0,還有Microsoft.Jet.OLEDB.4.0,它們倆者之間有什麼聯系和區別呢: 共同點:都是做為連接Excel對象的介面引擎 不同點: 對於不同的Excel版本,有兩種介面可供選擇:Microsoft.Jet.OLEDB.4.0(以下簡稱 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下簡稱 ACE 引擎)。 Jet 引擎,可以訪問 Office 97-2003,但不能訪問 Office 2007。 ACE 引擎是隨 Office 2007 一起發布的資料庫連接組件,既可以訪問 Office 2007,也可以訪問 Office 97-2003。 另外:Microsoft.ACE.OLEDB.12.0 可以訪問正在打開的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。 所以,在使用不同版本的office時,要注意使用合適的引擎。 A:下列語句可在SQL SERVER中查詢Excel工作表中的數據。 2007和2003都可用 SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="D:\test1.xls";User ID=Admin;Password=;Extended properties="Excel 12.0 Xml;HDR=YES;IMEX=1";')...[Sheet1$] 2007和2010版本: SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]') SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]') 2003版本: SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]') SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]') 而且,還需要用擁有伺服器sysadmin角色許可權的登錄帳號,先執行下列語句打開SQL SERVER的'Ad Hoc Distributed Queries'開關。 exec sp_configure 'show advanced options',1;reconfigure; exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure; 執行查詢後,再用相反順序的語句,關閉'Ad Hoc Distributed Queries'開關。 exec sp_configure 'Ad Hoc Distributed Queries',0; reconfigure;exec sp_configure 'show advanced options',0;reconfigure

『玖』 如何用sql語言將資料庫中的數據導入excel

第一種,無法導入欄位名:(excel表不存在,新建)
EXEC master..xp_cmdshell
'bcp zhou.dbo.資料庫表名 out "c:\test.xls" /c /S "伺服器名" /U "用戶名" -P "密碼" '

第二種,excel文件已存在,要手工把表欄位名填到excel文件中去,再執行下面:
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=YES;DATABASE=c:\文件名.xls',sheet1$)
select * from 表名

熱點內容
安卓十二系統什麼時候更新 發布:2025-07-02 00:12:28 瀏覽:345
shell腳本需要編譯鏈接 發布:2025-07-02 00:04:20 瀏覽:474
微信如何重設密碼 發布:2025-07-02 00:02:27 瀏覽:545
java代碼基礎 發布:2025-07-02 00:00:46 瀏覽:304
煙花的代碼c語言 發布:2025-07-01 23:56:04 瀏覽:224
安卓默認打開文件方式怎麼修改 發布:2025-07-01 23:30:38 瀏覽:862
壓縮機接線座 發布:2025-07-01 23:17:48 瀏覽:662
iqoo瀏覽器緩存路徑 發布:2025-07-01 23:12:38 瀏覽:693
明日之後如何獲得最新伺服器 發布:2025-07-01 23:12:35 瀏覽:52
tv加密頻道 發布:2025-07-01 23:10:58 瀏覽:625