14 个解决方案
#1
SELECT *
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions
#2
因为我要用程序通过 odbc 取出来 并显示在我程序中
#3
--如果接受数据导入的表已经存在
insert into 表 select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
--如果导入数据并生成表
select * into 表 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
#4
to happy
我去测试下 可以的话马上回来结贴
我去测试下 可以的话马上回来结贴
#5
提示 odbc 驱动程序不支持所需的属性
记录集打开的时候提示这个错误
记录集打开的时候提示这个错误
#6
所有Sheet的表名,应该是读不出来的。
楼上的都是读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
楼上的都是读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
#7
to Limpire
应该是有办法读取出来的呀
应该是有办法读取出来的呀
#8
我也想知道,帮你顶
#9
SQL语句可以实现吗,没有做过
不过利用其他的编程工具可以实现
不过利用其他的编程工具可以实现
#10
关注这个问题!!
#11
up 帮顶
#12
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
#13
1.用vb写一个工程名为GetSheet,类为GetS的dll
代码如下:
2.注册dll并用sql调用
代码如下:
Option Explicit
Dim Ex As New Excel.Application
Dim Wk As New Excel.Workbook
Public Function GetSheetName(PathT As String) As String
Dim I As Integer
Dim StrName As String
StrName = ""
Set Wk = Ex.Workbooks.Open(PathT)
If Wk.Worksheets.Count < 1 Then
StrName = ""
Else
For I = 1 To Wk.Worksheets.Count
StrName = StrName & Wk.Worksheets(I).Name & "|"
Next
End If
Wk.Save
Ex.Quit
Set Wk = Nothing
Set Ex = Nothing
GetSheetName = StrName
End Function
2.注册dll并用sql调用
declare @objC int,@hr int
declare @x varchar(100)
exec @hr=master..sp_OACreate 'GetSheet.getS',@objC output
if @hr<>0
begin
set @hr=1
goto Error
end
exec @hr=master..sp_OAMethod @objC,'GetSheetName',@x out,'e:\test.xls'
if @hr<>0
begin
set @hr=2
goto Error
end
select '表名为:'+@x
exec master..sp_OAdestroy @objc
Error:
print 'error: ' +ltrim(@hr)
exec master..sp_OAdestroy @objc
--result
/*--------------
Sheet1|Sheet2|Sheet3|Sheet4|
*/
#14
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')
读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')
读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
#1
SELECT *
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
’Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...xactions
#2
因为我要用程序通过 odbc 取出来 并显示在我程序中
#3
--如果接受数据导入的表已经存在
insert into 表 select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
--如果导入数据并生成表
select * into 表 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
#4
to happy
我去测试下 可以的话马上回来结贴
我去测试下 可以的话马上回来结贴
#5
提示 odbc 驱动程序不支持所需的属性
记录集打开的时候提示这个错误
记录集打开的时候提示这个错误
#6
所有Sheet的表名,应该是读不出来的。
楼上的都是读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
楼上的都是读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
#7
to Limpire
应该是有办法读取出来的呀
应该是有办法读取出来的呀
#8
我也想知道,帮你顶
#9
SQL语句可以实现吗,没有做过
不过利用其他的编程工具可以实现
不过利用其他的编程工具可以实现
#10
关注这个问题!!
#11
up 帮顶
#12
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
#13
1.用vb写一个工程名为GetSheet,类为GetS的dll
代码如下:
2.注册dll并用sql调用
代码如下:
Option Explicit
Dim Ex As New Excel.Application
Dim Wk As New Excel.Workbook
Public Function GetSheetName(PathT As String) As String
Dim I As Integer
Dim StrName As String
StrName = ""
Set Wk = Ex.Workbooks.Open(PathT)
If Wk.Worksheets.Count < 1 Then
StrName = ""
Else
For I = 1 To Wk.Worksheets.Count
StrName = StrName & Wk.Worksheets(I).Name & "|"
Next
End If
Wk.Save
Ex.Quit
Set Wk = Nothing
Set Ex = Nothing
GetSheetName = StrName
End Function
2.注册dll并用sql调用
declare @objC int,@hr int
declare @x varchar(100)
exec @hr=master..sp_OACreate 'GetSheet.getS',@objC output
if @hr<>0
begin
set @hr=1
goto Error
end
exec @hr=master..sp_OAMethod @objC,'GetSheetName',@x out,'e:\test.xls'
if @hr<>0
begin
set @hr=2
goto Error
end
select '表名为:'+@x
exec master..sp_OAdestroy @objc
Error:
print 'error: ' +ltrim(@hr)
exec master..sp_OAdestroy @objc
--result
/*--------------
Sheet1|Sheet2|Sheet3|Sheet4|
*/
#14
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')
读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。
'Data Source="c:\Reporttemplate\PPVAPO.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')
读取某个Sheet的数据:[Sheet1$]加左右中括号,Sheet1表示Sheet名,不知道为什么要加美元符$,反正不加不行。