Foxtable(狐表)用户栏目专家坐堂 → [求助] 两次拆分字符串后填入表格


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

主题:[求助] 两次拆分字符串后填入表格

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


加好友 发短信
等级:七尾狐 帖子:1653 积分:14702 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助] 两次拆分字符串后填入表格  发帖心情 Post By:2018/12/5 8:28:00 [只看该作者]

老师,有如下一串字符,分别用“;”和“、”分割,先将“;”拆分,再次将“、”拆分,拆分后填入表格,一个“;”会做,两个以上不会。谢谢!
    rt.Cells(t+12,0).Text = "起止日期"      ‘t为前面插入的表格行数,已知。
    rt.Cells(t+12,2).Text = "就职单位"
    rt.Cells(t+12,4).Text = "车间"
    rt.Cells(t+12,5).Text = "工种"
    rt.Cells(t+12,6).Text = "危害因素"
    rt.Cells(t+12,8).Text = "防护措施"
    rt.Rows(t+12).Style.TextAlignVert = prt.AlignVertEnum.Center
    rt.Rows(t+12).Style.TextAlignHorz = prt.AlignHorzEnum.Center

    Dim s1 As String = “2015-01-01至2015-12-31、浦沅机械厂、焊接车间、焊工、锰尘、口罩;2016-01-01至2016-12-31、三一重工、焊接车                                      间、焊工、锰尘、口罩;2017-01-01至2017-12-31、塘桥机械厂、唐工车间、钳工、噪声、耳塞;
    Dim pps() As String = s1.Split(";")
    Dim tt1 As Integer = pps.Length
    Dim t1 As Integer = tt1 + t + 12  
    For Each pp As String In pps
            rt.Rows.Insert(tt1+t + 13)
            Dim pos() As String = pp.Split("、")
            For Each po As String In pos
                rt.Cells(t+13,0).Text = pos(0)
                rt.Cells(t+13,2).Text = pos(1)
                rt.Cells(t+13,4).Text = pos(2)
                rt.Cells(t+13,5).Text = pos(3)
                rt.Cells(t+13,6).Text = pos(4)
                rt.Cells(t+13,8).Text = pos(5)
            Next
    Next


填入专业报表

起止日期就职单位车间工种危害因素防护措施
2015-01-01至2015-12-31浦沅机械厂焊接车间焊工锰尘口罩
2016-01-01至2016-12-31三一重工焊接车间焊工锰尘口罩
2017-01-01至2017-12-31塘桥机械厂唐工车间钳工噪声耳塞
[此贴子已经被作者于2018/12/5 9:03:23编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 8:48:00 [只看该作者]

'''
Dim s1 As String = “2015-01-01至2015-12-31、浦沅机械厂、焊接车间、焊工、锰尘、口罩;2016-01-01至2016-12-31、三一重工、焊接车                                      间、焊工、锰尘、口罩;2017-01-01至2017-12-31、塘桥机械厂、唐工车间、钳工、噪声、耳塞;”
Dim pps() As String = s1.Split(";")

For Each pp As String In pps
    Dim pos() As String = pp.Split("、")
    If pos.length >= 2 Then
        msgbox(pos(0))
        msgbox(pos(1))
    End If
Next


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


加好友 发短信
等级:七尾狐 帖子:1653 积分:14702 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2018/12/5 9:48:00 [只看该作者]

老师,学艺不精,搞不懂。提示索引超出数组范围。还请详细告知。非常感谢!
[此贴子已经被作者于2018/12/5 9:49:04编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 9:50:00 [只看该作者]

1、代码单独测试,看效果。

 

2、如果无法处理,请上传具体实例测试。


 回到顶部