當前位置:首頁 » 編程語言 » sqlexcel讀寫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlexcel讀寫

發布時間: 2022-12-21 01:47:01

㈠ 如何使用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$]

㈡ 在excel中用sql讀取sheet1裡面自定義表

你應該是在Sheet1中的某個區域「建了一個表」,可以將這個區域的第一行作為標題行,加上相關的列標簽/列標題,例如:姓名 出生日期 住址。
然後,
select 姓名,出生日期,住址 from [shee1$]
如果你的表a區域有100行,100行下面還有其他不需要的數據,就改成
select top 100 姓名,出生日期,住址 from [shee1$]

㈢ 如何在excel表格中讀取sql資料庫數據

excel程序自帶的外部數據連接功能,可以連接sql伺服器。具體步驟為:
1、選擇【數據】選項卡,在【獲取外部數據】分組,找到【自其他來源】。
2、單擊【自其他來源】按鈕,打開【選擇來源】下拉菜單。
3、選擇【來自sql
server】打開【數據連接向導】對話框。
4、填寫伺服器名稱、登錄的用戶名及密碼等信息,即可成功連接。

㈣ 怎麼用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表名

先用函數獲取sheet的名字,然後傳入select 列表中返回就可以了。
MySheet = Application.Caller.Worksheet.Name

select MySheet ,xxx from 表 where xxx=yyyy

㈥ 用SQL語句從EXCEL表讀取數據

這是因為excel的一個限制,因為如果這樣寫的話在excel中是按字母的順序排列列名的

㈦ 如何用SQL語句讀出EXCEL是的數據,請大家幫幫忙謝謝了

電腦的環境變數要設置一下吧,在管理工具理有一個數據源,要追加一個Miscrosoft
Access
Driver(*.mdb)的驅動
再看看別人怎麼說的。

㈧ 在excel中如何使用vba實現將sql的數據快速寫入excel

DimconnAsNewADODB.Connection
connStr="Driver={SQLServer};DataBase=test;Server=(local);UID=sa;PWD=123"
conn.OpenconnStr'連接資料庫
DimrsAsNewRecordset
sql="select*froma"'查看錶a
rs.Opensql,conn,3,3
ifNotrs.EOFthen
ForiCols=0Tors.fields.Count-1
Sheets(1).Cells(1,iCols+1).Value=rs.fields(iCols).Name
NextiCols
Sheets(1).Cells(2,1).CopyFromRecordsetrs
endif

㈨ 誰能給我一個EXCEL VBA往SQL資料庫讀取和寫入記錄的例子

  • 讀取和寫入操作方式一樣,唯一不同的是sql語句,讀取用select,讀取用insert,以讀取為例子,錄入如下代碼:

    'sql完整例子
    Sub testSql()

    '定義連接對象
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset

    '定義連接字元串
    Dim conStr As String
    Dim sqlstr As String
    '連接字元串-以下是連接MSSQL資料庫
    conStr = "Provider=sqloledb; " _
    & "Server=192.168.1.121; " _
    & "Database=DATABASENAME;Uid=admin;Pwd=admin;"
    cnn.Open conStr

    sqlstr = "SELECT * from tablename"
    rs.Open sqlstr, cnn
    Range("a2").CopyFromRecordset rs
    rs.Close
    cnn.Close

End Sub