super786
asked on
Import excel spreadsheet into Sql Server schema - numbers become exponentials: Why? Fix?
I have an excel spreadsheet that I import into a table in a SQL server schema. Once I import it, all the data appears perfectly EXCEPT a column (record_num), which has 6-8 digit numbers. On the Excel sheet this column displays the numbers just fine, but once I import it into a SQL table, the data in that column looks like this : "2.12043e+006" (instead of 2120426)
Now I looked at the SQL table's design and the data type is set to "varchar: 100"
If I re-format the column in excel as general, text, or number - I still get exponentials instead of the ACTUAL 6 or 8 digit number.
What am I missing? There's over 400 rows of data.
Now I looked at the SQL table's design and the data type is set to "varchar: 100"
If I re-format the column in excel as general, text, or number - I still get exponentials instead of the ACTUAL 6 or 8 digit number.
What am I missing? There's over 400 rows of data.
ASKER
how do I do that? I use ms-excel 2005.
how do you import actually?
ASKER
In SQL Server, go to schema, right-click, import data, select source: excel, browse for file, append to respective table, done.
ASKER
Hello?
>Hello?
you might consider reading my comments about such behaviour in my profile:
https://www.experts-exchange.com/M_302115.html
anyhow, is this import task to be a one-shot operation, or a task to be repeated?
in first case, you might consider using ms access with a linked table to the SQL Server table, copy the data from excel and paste into the table using the linked table in access.
if it is a task to be repeated, you should consider checking out SSIS, where you can specify some connection parameters when importing (excel) files, ie the IMEX=1 I mentionned above.
you might consider reading my comments about such behaviour in my profile:
https://www.experts-exchange.com/M_302115.html
anyhow, is this import task to be a one-shot operation, or a task to be repeated?
in first case, you might consider using ms access with a linked table to the SQL Server table, copy the data from excel and paste into the table using the linked table in access.
if it is a task to be repeated, you should consider checking out SSIS, where you can specify some connection parameters when importing (excel) files, ie the IMEX=1 I mentionned above.
ASKER
Ok now its giving me another error. Seems as though now the record_num is working fine (I changed it to text). But the other problem I am having now is the date_column. My SQL design for the table for this column is datetime :8, as it also is on the spreadsheet. I try and import it and now it says the date_column is in incorrect format. I tried text, general...no help. I tried saving it as csv, but still doesn't work.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
MS Access - I had the problem of Social Security Number getting converted to exponential format when importing from Excell spreadsheet, even though the Excel column 'Format' was defined as 'Text' as was the Access table field. In fact all but the SSNs starting with zero were messed up - that's why I didn't notice anything was wrong for a while, because the first few screens looked good. I found that if I created the SSN column in Excel as 'Text' ( so I could retain leading zeros) and then changed it to 'General' before I saved it and imported to Access, that seemed to work. Hope this helps somebody.
IMEX=1
should solve the problem