SQL与Excel数据交互

过程:将一种类似于txt类型的文件的内容导入到SQL中形成表,以及将表从sql中导出到excel中的两种方法;

 

网上有关于导入txt文件的方法,也试了一些,但是感觉txt文件毕竟有些太随意,空格、tabenter等处理起来可能不安全,导致生成的表格错乱,在此建议先将txt弄成excel,算是一种格式化

 

环境:sqlserver 2008   excel2013   win7 64位


导入到sql中:

1、将文件内容复制到excel中,并条理清楚,右击目标数据库->任务->导入数据(I)

2、进入到选择数据源,下拉数据源list,选择MicrosoftExcel,选择文件路径

 

3、下一步:选择目标。服务器名称及用户名密码,目标数据库的选择,下一步,制定表复制或查询,选项一默认,选项二需要sql语句,下一步选择源表和源视图,此处需要选择需要导入的sheet及目标数据库表的名字,在此可点击编辑映射,来更改导入时的列的数据类型及精度。

4、保存并运行包,单机两次完成,即可看到插入结果

 

5、刷新数据库即可看到新建表。

 

 

sql导出表格:

1、右击目标数据库->任务->导出数据  类似于导入的逆操作

选择数据源(数据源及用户密码数据库等),完成后单机下一步

2、选择目标,下拉目标框,选择Microsoft Excel,出现文件浏览(选择已经建好的空Excel)。单机下一步

3、指定表复制及查询,默认下一步,选择源表和源视图,在此选择需要导出的表,

4、单击下一步若出现查看数据类型映射,则会在完成是出现数据精度、长度等问题

5、若未出现第四步,则单击完成。

 

MicrosoftExcel连接sql数据库导出数据:

1、在一个空Excel表格中,点击数据->其他来源,选择来自Sql Server,服务器名称填写,尽量使用本机IP地址,而不是类似填写成local127.0.0.1,否则可能出现“[DBNETLIB][ ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问

2、进入数据连接导向后,选择数据库即可看到该数据库下的所有表格,支持多选。默认点击直到完成即可看到数据出现在excel中。

 

 

在数据库操作时出现过“Microsoft.Jet.OLEDB.……“,此时安装AccessDatabaseEngine.exe

链接:http://124.202.164.12/files/2229000001A71EBE/download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

 

也出现过:

消息
错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80040E21
 (SQL Server 
导入和导出向导)
 
错误 0xc0202025: 数据流任务 1: 无法创建 OLE DB 取值函数。请查看列元数据是否有效。
 (SQL Server 
导入和导出向导)
 
错误 0xc004701a: 数据流任务 1: 组件目标 - TbCredAction”(19) 在执行前阶段失败,返回的错误代码为 0xC0202025


 导入时有关表格命名的地方切记去掉$符号,否则导出时也会出现这种情况

尝试更改数据类型试试;excelsql的数据类型有差异


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章