时间:2021-05-23
复制代码 代码如下:
-- Get table (worksheet) or column (field) listings from an excel spreadsheet
-- 设置变量
declare @linkedServerName sysname = 'TempExcelSpreadsheet'
declare @excelFileUrl nvarchar(1000) = 'D:\text.xlsx'
-- /SET
-- 删除链接服务(如果它已经存在)
if exists(select null from sys.servers where name = @linkedServerName) begin
exec sp_dropserver @server = @linkedServerName, @droplogins = 'droplogins'
end
-- 添加服务对象
-- ACE 12.0 可以很好地工作为*.xls 和 *.xlsx, 你也可以用 Jet ,但是只能访问*.xls文件
exec sp_addlinkedserver
@server = @linkedServerName,
@srvproduct = 'ACE 12.0',
@provider = 'Microsoft.ACE.OLEDB.12.0',
@datasrc = @excelFileUrl,
@provstr = 'Excel 12.0;HDR=Yes'
-- 获取当前用户
declare @suser_sname nvarchar(256) = suser_sname()
-- 添加当前用户作为登陆这个链接服务
exec sp_addlinkedsrvlogin
@rmtsrvname = @linkedServerName,
@useself = 'false',
@locallogin = @suser_sname,
@rmtuser = null,
@rmtpassword = null
-- 返回 sheet 和 各个 sheet中的列
exec sp_tables_ex @linkedServerName
exec sp_columns_ex @linkedServerName
--删除链接服务对象
if exists(select null from sys.servers where name = @linkedServerName) begin
exec sp_dropserver @server = @linkedServerName, @droplogins = 'droplogins'
end
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
之前写过一个循环读取excel的代码,最近又有了新的需求:循环读取xlsx文件中的多个sheet,处理完之后循环输出到xlsx文件中的多个sheet中,总结一下
需求:根据country列的不同值,将内容分到不同sheet方法一:读取原Excel,根据country列将不同的内容放到不同的sheet,并根据国家名称命名,
摘要:不同方法读取excel中的多个不同sheet表格性能比较#方法1defread_excel(path):df=pd.read_excel(path,Non
方法一:读取文件时设置代码如下:Data=pd.read_excel(level_path,sheet_name=0,encoding='gbk',dtype=
以Excel为例,Excel默认工作表的名称为sheet1、sheet2、sheet3等。工作表中用字母标志列,即从A到IV,用数字标志行。 Microsof