Foxtable(狐表)用户栏目专家坐堂 → excel导入数据后的问题


  共有2495人关注过本帖树形打印复制链接

主题:excel导入数据后的问题

帅哥哟,离线,有人找我吗?
newsun2k
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
excel导入数据后的问题  发帖心情 Post By:2017/5/26 16:37:00 [只看该作者]

EXCEL导入数据后,有个字段有个类似全角空格
'1300334565 ',用replace也去不掉,
在sql中,用 = '1300334565 '检索不出来(值是直接从EXCEL中复制过来的)。
只能用like '1300334565%'才能检索出来。
怎么办?
求大神指导。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 17:46:00 [只看该作者]

用代码检测一下

Dim s As String = Tables("表A").Current("第二列")
Dim c As Integer = Asc(s(s.Length - 1))
Output.Show(c)
Output.Show(chr(c))
Tables("表A").Current("第二列") = s.Replace(chr(c),"")

 回到顶部
帅哥哟,离线,有人找我吗?
newsun2k
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2017/5/27 11:53:00 [只看该作者]

嗯嗯,查出来 是chr(63).
直接执行  upd ate  表1 set 第一列 = replace(第一列,char(63),'')
好像不行啊。还在

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/27 12:19:00 [只看该作者]

For Each r As Row In Tables("表A").Rows
    If r.IsNull("第一列") = False
        r("第一列") = r("第一列").replace(chr(63),"")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
newsun2k
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2017/5/27 14:10:00 [只看该作者]

实在搞不定啊。
贴出来显示是空格。
sql,foxtable都试过了。
excel里面替换也不行
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:book1.xls

 回到顶部
帅哥哟,离线,有人找我吗?
newsun2k
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2017/5/27 14:12:00 [只看该作者]

excel里面可以了,导进去就不行了。

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/5/27 14:30:00 [只看该作者]

4楼方法应该可以呀!!

 回到顶部
帅哥哟,离线,有人找我吗?
newsun2k
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2017/5/27 15:35:00 [只看该作者]

你可以试试

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/27 15:41:00 [只看该作者]

Dim s As String = Tables("Sheet1").Current("B")
s = s(s.Length - 1)
If Asc(s) = 63 Then
    For Each r As Row In Tables("Sheet1").Rows
        If r.IsNull("B") = False
            Dim s1 As String = r("B")
            r("B") = s1.replace(s,"")
        End If
    Next
End If


 回到顶部
帅哥哟,离线,有人找我吗?
newsun2k
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1499 积分:11175 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2017/5/27 17:27:00 [只看该作者]

我放到excel里面执行:

Sub abc()
Dim s As String
s = Worksheets("Sheet1").Cells(1, 1).Value
Dim c As Integer
c = Asc(Right(s, 1))
MsgBox c           '63
Worksheets("Sheet1").Cells(2, 1).Value = Replace(s, Chr(63), "a")
End Sub
也不行。
奇怪啊。

你上面的代码,我改成:
For Each r As Row In Tables("表a").Rows
    Dim s As String = r("第一列")
    s = s(s.Length - 1)
    If Asc(s) = 63 Then
        Dim s1 As String = r("第一列")
        r("第一列") = s1.replace(s,"")
        r.save
    End If  
Next
应该是一样的,不知道起作用不,希望管用。

 回到顶部
总数 11 1 2 下一页