首页 » 系统相关 » 去除EXCEL中的回车换行符引起的系列问题解决方法

去除EXCEL中的回车换行符引起的系列问题解决方法

今天同事问我说excel 中有特殊字符,在widows记事本中显示为小黑方块,在网上找了一下,我个人比较懒还是放到库里去处理一下好了,这个过程中发现了一系列的新问题,下面一一例出与解决,我提倡动用手头比较方便的各种软件

1,查看特殊字符是什么

我用oracle库里的dump函数,看了一个ascii码表为,char(10)

然后把excel 导入到本机刚好安装的sqlserver里处理

2,导入时提示  数据对于所指定缓冲区太大

无论是先建表批定varchar(4000)还是批定text都一样报这个错误,原因excel那个列的值是够长但绝不足500字

网上一查是excel 默认的Jet 引擎 为以前8列的类型决定数据类型

修改注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel  把TypeGuessRows值改为0,重启操作系统或结束exporer进程,没有桌面别慌,同时按ctrl+shift+esc调出任务管理器,新建任务 exporer,导入数据可以了

替换特殊字符吧

update tablename set colname =replace( colname,char(10),”)

3,修改时提示replace 的参数 1 的数据类型 ntext 无效。

查看当前字段类型为text类型,replace不可用,要转换后替换

update tablename set colname =replace(cast( colname as varchar(8000),char(10),”)

导出发现还有特殊符,再一想,可能还有换行回车符,再次替换

update tablename set colname =replace(cast( colname as varchar(8000),char(13),”)

再次导出 为excel,发现乱码没了

打赏

目前这篇文章有5条评论(Rss)评论关闭。

  1. Bret Sciandra | #1
    2011-12-21 at 06:02

    Why didn’t I find this article earlier? Keep up the good work!

  2. Zarya | #2
    2011-09-03 at 19:29

    You saved me a lot of hsasle just now.

  3. 站长工具 | #3
    2011-01-26 at 06:53

    博主文章好给力,站长精灵的百度挖词功能又增强了,可以帮助博主提高人气增加流量,欢迎回访试用,交流挖词心得。

    • Ally | #4
      2011-06-23 at 04:28

      This info is the cat’s paajmas!

    • Martha | #5
      2011-09-03 at 04:50

      You have shed a ray of susnnhie into the forum. Thanks!