答案是網上查詢來的,我測試了,沒問題
http://blog.csdn.net/yenange/article/details/7056852
有人說應該先轉成Access, 再轉到Sql Server。 其實用處並不大, 要截斷的還是被截斷了。
原因是,SQL Server的導入導出為了確定數據表的字段類型,取excel文件的前8行來判別。如果前8條是少於255的字符串,則設成nvarchar(255)類型,但如果Excel后面的記錄中有長度超過255的,導入時就會出錯。即使在導入設置映射時調整了該字段的長度也不行。
解決的辦法是改注冊表
如果是:Jet引擎. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
然后找到 TypeGuessRows這個項.默認為8的.修改為0.
===============
我改了jet就好了,非常cool