解决将excel数据导入sqlserver后数字格式不正确的问题的方法
2011-11-25 16:31
1666 查看
今天需要把一份excel表格内的数据导入sql server中。excel表格employee.xls中保存了所属部门、员工的编号、员工姓名三列数据。google后得到如下解决办法,但是却遇到数字转换不合适的问题。先说一下这个做法。
首先:将excel中的员工编号这一列转为文本格式(但是显示为科学计数法),同时数据库中新建一个表employee:
然后:使用sql语句将excel表中的数据导入上述表中
员工编号是130.XXXXXXXXXXXXXXXXXX这样的十几位的数字,导入后变为130.XXXXXXXXXXXXXXXXXX.0这样。在网上也没查到很好的解决办法。
这边文章介绍了关于SQL Server官方对于从Excel导入数据时的自动格式判断规则:/article/7082036.html
同时它也给出了最简单的方法,就是将该excel另存为“文本文件(制表符分隔)”格式,然后在sqlserver中导入,导入成功后再修改数据类型、添加约束等。我也是通过这种方法来实现的。
首先:将excel中的员工编号这一列转为文本格式(但是显示为科学计数法),同时数据库中新建一个表employee:
IF EXISTS (SELECT * FROM sysobjects WHERE name='employee' AND xtype='u') DROP TABLE employee CREATE TABLE employee( Agency nvarchar(50), EmployeeId nvarchar(50) not null, EmployeeName nvarchar(50) ) GO ALTER TABLE employee ADD CONSTRAINT pk_insurance_employeeid PRIMARY KEY(EmployeeId) GO
然后:使用sql语句将excel表中的数据导入上述表中
INSERT INTO employee(Agency,EmployeeId,EmployeeName) select 所属部门 as Agency, 员工编号 as EmployeeId, 员工姓名 as EmployeeName from opendatasource('Microsoft.Jet.OLEDB.4.0', 'Excel 5.0;HDR=YES;IMEX=1;DATABASE=d:\\employee.xls' )...[sheet1$] --之前我的excel文件中第一个表的名字是1322186030624,但是写成[1322186030624$]后报错 --把名字改为sheet1就没问题,不知道什么原因 GO
员工编号是130.XXXXXXXXXXXXXXXXXX这样的十几位的数字,导入后变为130.XXXXXXXXXXXXXXXXXX.0这样。在网上也没查到很好的解决办法。
这边文章介绍了关于SQL Server官方对于从Excel导入数据时的自动格式判断规则:/article/7082036.html
同时它也给出了最简单的方法,就是将该excel另存为“文本文件(制表符分隔)”格式,然后在sqlserver中导入,导入成功后再修改数据类型、添加约束等。我也是通过这种方法来实现的。
相关文章推荐
- 网页导出EXCEL格式数据,长数字变为科学计数法的解决方法
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- Ado方式导入excel混用数据类型引起数据缺失问题解决方法
- Excel导入数据出现“外部表不是预期的格式”错误的解决方法
- [导入]将纯数字导入Excel时数据格式仍保持不变的方法
- 如何导入excel数据到数据库,并解决导入时间格式问题
- java实现EXCEL数据导入到数据库中的格式问题的解决
- 导入Excel遇到数字字母混合列,字母导入为空值发生数据丢失时,用以下方法解决!
- 将纯数字导入Excel时数据格式仍保持不变的方法
- 利用OleDb导入Excel数据丢失问题及解决方法
- excel内容导入数据库数据丢失问题的分析几解决方法
- Pentaho PDI 数据导入关于时间格式及重复数据处理这2个问题的解决方法
- 通过Navicat向MySQL导入Excel文件格式数据的方法及遇到的问题
- 将纯数字导入Excel时数据格式仍保持不变的方法
- 快速导入EXCEL到SQL的SQL语句,此方法可以解决数字字母混合的问题
- html导出到excel数据格式不正确解决方法
- 网页导出EXCEL格式数据,长数字变为科学计数法的解决方法
- 导入Excel遇到数字字母混合列,字母导入为空值发生数据丢失时,用以下方法解决!
- Java 使用poi把数据库中数据导入Excel的解决方法
- 解决C# 导出gridview中的数据到excel 时, 全数字时 0 被去掉的问题