zl程序教程

您现在的位置是:首页 >  工具

当前栏目

用SQL脚本读取Excel中的sheet数量及名称的方法代码

Excel方法SQL代码 脚本 读取 数量 名称
2023-06-13 09:15:05 时间

复制代码代码如下:


--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet  

--设置变量  
declare@linkedServerNamesysname="TempExcelSpreadsheet" 
declare@excelFileUrlnvarchar(1000)="D:\text.xlsx" 
--/SET  

--删除链接服务(如果它已经存在)  
ifexists(selectnullfromsys.serverswherename=@linkedServerName)begin 
   execsp_dropserver@server=@linkedServerName,@droplogins="droplogins" 
end 

--添加服务对象  
--ACE12.0可以很好地工作为*.xls和*.xlsx,你也可以用Jet,但是只能访问*.xls文件  
execsp_addlinkedserver  
   @server=@linkedServerName,  
   @srvproduct="ACE12.0",  
   @provider="Microsoft.ACE.OLEDB.12.0",  
   @datasrc=@excelFileUrl,  
   @provstr="Excel12.0;HDR=Yes" 

--获取当前用户  
declare@suser_snamenvarchar(256)=suser_sname()  

--添加当前用户作为登陆这个链接服务  
execsp_addlinkedsrvlogin  
   @rmtsrvname=@linkedServerName,  
   @useself="false",  
   @locallogin=@suser_sname,  
   @rmtuser=null,  
   @rmtpassword=null 

--返回sheet和各个sheet中的列  
execsp_tables_ex@linkedServerName  
execsp_columns_ex@linkedServerName  

--删除链接服务对象 

ifexists(selectnullfromsys.serverswherename=@linkedServerName)begin 
   execsp_dropserver@server=@linkedServerName,@droplogins="droplogins" 
end