ms sql server 与 excel 之间如何导入导出?

battlet 2003-01-18 07:42:52
ms sql server 与 excel 之间如何导入导出?
具体些
比如我要将sql server 中的一个表导出到excel 电子表中,如何实现?
反过来又怎么办?多谢
...全文
29 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sc1234 2003-01-27
  • 打赏
  • 举报
回复
ww
smartyyp 2003-01-27
  • 打赏
  • 举报
回复
dts
battlet 2003-01-24
  • 打赏
  • 举报
回复
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


此句可编译通过但执行时错误,
如下:
错误信息如下:
サーバー : メッセージ 7399、レベル 16、状態 1、行 9
OLE DB プロバイダ 'Microsoft.Jet.OLEDB.4.0' はエラーをレポートしました。 認証に失敗しました。
[OLE/DB provider returned message: アプリケーションを起動できません。システム データベースが存在しないか、
またはほかのユーザーが排他的にシステム データベースを開いています。]

coo_key 2003-01-22
  • 打赏
  • 举报
回复
企业管理器,直接干
SoDragon 2003-01-22
  • 打赏
  • 举报
回复
如果只是在sql和excel之间交换数据,用dts导入导出就足够了!
pengdali 2003-01-18
  • 打赏
  • 举报
回复
create procedure 名
@参数 varchar(100)
@输出参数 varchar(100) output
----------------------^^^^^^^加output
as
begin
set @输出参数=@参数+'大力'
end
go
---------调用:
declare @局部变量 varchar(100)
exec 名 '你好',@局部变量 output
-----------------------^^^^^^^^用'@局部变量'得到'@输出参数'也要加output
select @局部变量 as 输出来的参数
battlet 2003-01-18
  • 打赏
  • 举报
回复
怎么看是输入输出?
pengdali 2003-01-18
  • 打赏
  • 举报
回复
清华的入门与提高!
sql的联机帮助!

create procedure 名
@参数 varchar(100)
as
begin
select @参数 as 别名
end
go
---------调用:
exec 名 '你好'
battlet 2003-01-18
  • 打赏
  • 举报
回复
非常感谢,其实我是菜鸟,没写过存储过程,什么地方有基础介绍的,省的找别人写了,
pengdali 2003-01-18
  • 打赏
  • 举报
回复
可以呀!
你考到查询分析器仔细研究一下!
学习方法!!
battlet 2003-01-18
  • 打赏
  • 举报
回复
顶楼的那一整段可以写成一个存储过程嘛?要修改(注意)些什么地方?
pengdali 2003-01-18
  • 打赏
  • 举报
回复
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
删除:
DELETE
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
pengdali 2003-01-18
  • 打赏
  • 举报
回复
转贴:

倒出数据库用户表结构和一样本数据到EXCEL中

-- ======================================================
-- Export all user tables definition and one sample value
-- jan-13-2003,Dr.Zhang
-- ======================================================
SET ANSI_NULLS OFF
GO
SET NOCOUNT ON
GO


DECLARE @tbl varchar(100),@fld varchar(100),@sql nvarchar(4000),@maxlen int,@sample varchar(20)

SELECT d.name TableName,a.name FieldName,b.name TypeName,a.length Length,a.isnullable IS_NULL INTO #t
FROM syscolumns a, systypes b,sysobjects d
WHERE a.xtype=b.xusertype and a.id=d.id and d.xtype='U'

DECLARE read_cursor CURSOR
FOR SELECT TableName,FieldName FROM #t

SELECT TOP 1 '_TableName ' TableName,
'FieldName ' FieldName,'TypeName ' TypeName,
'Length' Length,'IS_NULL' IS_NULL,
'MaxLenUsed' AS MaxLenUsed,'Sample Value ' Sample,
'Comment ' Comment INTO #tc FROM #t

OPEN read_cursor

FETCH NEXT FROM read_cursor INTO @tbl,@fld
WHILE (@@fetch_status <> -1) --- failes
BEGIN
IF (@@fetch_status <> -2) -- Missing
BEGIN
SET @sql=N'SET @maxlen=(SELECT max(len('+@fld+')) FROM '+@tbl+')'
--PRINT @sql
EXEC SP_EXECUTESQL @sql,N'@maxlen int OUTPUT',@maxlen OUTPUT
--print @maxlen
SET @sql=N'SET @sample=(SELECT TOP 1 '+@fld+' FROM '+@tbl+' WHERE len('+@fld+')='+convert(varchar(5),@maxlen)+')'
EXEC SP_EXECUTESQL @sql,N'@sample varchar(30) OUTPUT',@sample OUTPUT
--for quickly
--SET @sql=N'SET @sample=convert(varchar(20),(SELECT TOP 1 '+@fld+' FROM '+
--@tbl+' order by 1 desc ))'
--PRINT @sql
print @sample
EXEC SP_EXECUTESQL @sql,N'@sample varchar(30) OUTPUT',@sample OUTPUT
INSERT INTO #tc SELECT *,ltrim(ISNULL(@maxlen,0)) as MaxLenUsed,
convert(char(20),ltrim(ISNULL(@sample,' '))) as Sample,' ' Comment FROM #t where TableName=@tbl and FieldName=@fld
END
FETCH NEXT FROM read_cursor INTO @tbl,@fld
END

CLOSE read_cursor
DEALLOCATE read_cursor
GO

SET ANSI_NULLS ON
GO
SET NOCOUNT OFF
GO
select count(*) from #t
DROP TABLE #t
GO

select count(*)-1 from #tc

select * into ##tx from #tc order by tablename
DROP TABLE #tc

--select * from ##tx

declare @db varchar(30),@sql varchar(3000)
set @db=db_name()
set @sql='exec master.dbo.xp_cmdshell ''bcp ..dbo.##tx out c:\'+@db+'_exp.xls -c -Usa -P '''
print @sql
exec(@sql)
GO
DROP TABLE ##tx
GO

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧