分享

excel与sql server数据库之间的数据交换

 fan_tao 2007-07-19
1。如果从sql数据库中,导出数据到excel,如果excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:  
  insert   into   openrowset(microsoft.jet.oledb.4.0  
  ,excel   5.0;hdr=yes;database=c:\test.xls,sheet1$)  
  select   *   from   表名

2。如果excel文件不存在,也可以用bcp来导成类excel的文件,注意大小写:  
  --导出表的情况  
  exec   master..xp_cmdshell   bcp   数据库名.dbo.表名   out   "c:\test.xls"   /c   -/s"服务器名"   /u"用户名"   -p"密码"

3。导出查询的情况  
  exec   master..xp_cmdshell   bcp   "sql  查询语句"   queryout   "c:\test.xls"   /c   -/s"服务器名"   /u"用户名"   -p"密码"

4。excel导入sql server
    如果你的student表结构与以下内容匹配.  
  95001李勇             男20cs                  
  95002刘晨             女19is                  
  95003王敏             女18ma                  
  95004张立             男17is    
  
  那么用下面这个就可以  
  
  insert   into   student  
  select   *    
  from   opendatasource(microsoft.jet.oledb.4.0,data   source="c:\zt.xls";extended   properties="excel   8.0";persist   security   info=false)...[a1$]


-------------------------------------------------------------
DTS进行导入

1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按 下一步 ,
2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,
3、 选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用 SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 ,
4、选择 用一条查询指定要传输的数据,按 下一步 ,
5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,
7、如果要全部导入,则选择 全部行,按 下一步,
8、则会看到根据前面的操作生成的查询语句,确认无误后,按 下一步,
9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表,按 下一步,
10、选择 立即运行,按 下一步,
11、会看到整个操作的摘要,按 完成 即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多