『壹』 如果excel中想使用sql語句怎麼使用
例如簡單的從sheet1表中的數據取到表二:
Sub 簡單查詢()
Set cn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
cn.Open "provider=microsoft.jet.oledb.4.0;Extended Properties='Excel 8.0';data source=" & ThisWorkbook.FullName
Sql = "select * from [sheet1$]"
Sheets(2).[A2].CopyFromRecordset cn.Execute(Sql)
MsgBox "取數據成功"
Sheets("sheet2").Select
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
『貳』 EXCEL中能不能直接執行SQL語句
1、需要導入的數據如圖。
『叄』 .sql怎麼轉成excel
.sql文件轉成excel表格的步驟:
1、將sql文件放入資料庫執行(這邊以mysql資料庫為例),SQL命令行操作:
sql>@full_path/test.sql;
例:sql>@D:/test.sql;
不需要commit; 一般都是在test.sql 裡面最後加上一個commit;
2、從資料庫導出數據至excel表格,SQL命令行操作:
sql>select * into outfile 'd:/test.xls' from 表名;
例:sql>select * into outfile 'd:/test.xls' from test;
『肆』 如何使用SQL語句實現對Excel工作表數據的查詢
--1.開啟遠程查詢支持
execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure
--2.鏈接ExcelMicrosoftACE12.0OLEDBProvider讀Excel數據(注意Excel必須事先關閉)
select*from
openrowset('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;DATABASE=C:/Users/nichk/Desktop/data.xls',Sheet1$);
--3.記得用完選項後,關閉這些選項
execsp_configure'AdHocDistributedQueries',0
reconfigure
execsp_configure'showadvancedoptions',0
reconfigure
--4.查看是不是關閉
execsp_configure
記得電腦必須安裝oledb提供程序(可搜索AccessDatabaseEngine.exe在微軟官網下載安裝),不同的版本訪問方式不一樣,如下是各版本的訪問方式:
-->Jet引擎訪問Excel97-2003
select*fromOpenRowSet('Microsoft.Jet.OLEDB.4.0','Excel8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls','select*from[Sheet1$]')
select*fromOpenRowSet('Microsoft.Jet.OLEDB.4.0','Excel8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls',[Sheet1$])
select*fromOpenDataSource('Microsoft.Jet.OLEDB.4.0','Excel8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]
select*fromOpenDataSource('Microsoft.Jet.OLEDB.4.0','DataSource=D:/97-2003.xls;ExtendedProperties="Excel8.0;HDR=Yes;IMEX=1"')...[Sheet1$]
-->ACE引擎訪問Excel97-2003
select*fromOpenRowSet('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls','select*from[Sheet1$]')
select*fromOpenRowSet('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls',[Sheet1$])
select*fromOpenDataSource('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]
select*fromOpenDataSource('Microsoft.ACE.OLEDB.12.0','DataSource=D:/97-2003.xls;ExtendedProperties="Excel12.0;HDR=Yes;IMEX=1"')...[Sheet1$]
-->ACE引擎訪問Excel2007
select*fromOpenRowSet('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx','select*from[Sheet1$]')
select*fromOpenRowSet('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx',[Sheet1$])
select*fromOpenDataSource('Microsoft.ACE.OLEDB.12.0','Excel12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx')...[Sheet1$]
select*fromOpenDataSource('Microsoft.ACE.OLEDB.12.0','DataSource=D:/2007.xlsx;ExtendedProperties="Excel12.0;HDR=Yes;IMEX=1"')...[Sheet1$]
『伍』 怎麼用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
連接字元串
cn.connectionstring=
provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(EXCEL表名) & ";
Extended properties=EXCEL 8.0
打開字元串
sqlstring="select * from [sheet1$]",cn
你自己整理
『柒』 excel里可以使用sql語句嗎
可以的,EXCEL可以作為數據源(SQL語句FROM後面的表),也可以結果存放到EXCEL裡面,不過需要使用微軟查詢(2016版包含)。
『捌』 如何在EXCEL中使用SQL進行數據處理與分析
在EXCEL中使用SQL進行數據處理與分析步驟有:
工具原料:excel2013版本
打開「excel」,在「數據」選項卡中,找到「自其他來源」;
『玖』 sql和excel怎麼結合
將Excel中的數據導入的Access中執行查詢操作
『拾』 SQL能用哪些EXCEL公式
不是的,只是有類似的函數。