Foxtable(狐表)用户栏目专家坐堂 → word 报表给生成的报表中段落编号问题


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

主题:word 报表给生成的报表中段落编号问题

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/24 9:39:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 13:50:00 [只看该作者]

还是这个问题,总体思路就是在表里先选中的N行中,先筛选出[部门]这一列等于“销售部”的行,依次生成内容,再筛选出[部门]这一列等于“服务部”的行,依次生成内容,再筛选出[部门]这一列等于“联络部”的行,依次生成内容等,最终四个部分都在一个word 里面,最终的报表没有空行,每个部分都从1开始产生序列号,最终效果如下:   
 

出情况差

 

销售部:

1(省外)派出二娃。赴石河子出差。

2、派出二娃。赴深圳出差。

服务部:

1(省外)派出李。赴迪拜出差。

2(省外)派出李思。赴广州出差。

生产部:

联络部:

1(省外)派出哈哈。赴美国出差。

2、派出李仪。赴南昌出差。

3、派出王二。赴南京出差。

4(省外)派出哈哈。出差。


但问题是前面建议的那种方法,给的 for each dr as datatrow in dataTables("表A").select("部门='" & s1 & "'")   这行代码显示错误,不知怎么改。所以自己写了代码想要实现,但由于每个部分自动从1开始编号的代码始终没有写对,结果生成的报表,每段没有序号,且无端多出很多空行,如下:

出情况差

 

销售部:

 

 

 

 

(省外)派出二娃。赴石河子出差。

 

 

 派出二娃。赴深圳出差。

 

 

 

服务部:

(省外)派出李。赴迪拜出差。

 

 

 

 

 

 

 

(省外)派出李思。赴广州出差。

 

 

生产部:

 

 

 

 

 

 

 

 

 

 

 

联络部:

 

(省外)派出哈哈。赴美国出差。

 派出李仪。赴南昌出差。

 

 

 派出王二。赴南京出差。

 

 

 

(省外)派出哈哈。出差。

 



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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 14:00:00 [只看该作者]

现将项目及代码上传,请老师们给帮忙看看,我的代码写的不好,或者思路不对,还请多指导。另外,部门一列共四个值,报表的效果是需要按照销售部、服务部、生产部、联络部的固定顺序组成四个部分,但假如选中行中没有生产部的人,则“生产部”这一部分不出现在报表中,最终为销售部、服务部、联络部的固定顺序组成三个部分,其他部门也是一样,总体顺序不变,根据实际情况显示。项目如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实验代码项目.rar


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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/25 14:43:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实验代码项目.zip


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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 15:56:00 [只看该作者]

感谢大师!确实已经满足我当前需求了,但还有个问题,目前报表中部门的排序是按照服务部、联络部、生成部、销售部的顺序进行,但后期如果固定的版块需要变化顺序,这个顺序怎么设定,刚才在项目中没有找到对部门四个部分的顺序设定,比如以后调整报表需要将 生成部提到第一段作为第一部分, 按照 生成部、联络部、销售部、服务部这样的排序进行。

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/25 16:27:00 [只看该作者]

添加一个排序列,给部门指定顺序,同一个部门的使用同一个序号

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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 16:44:00 [只看该作者]

在代码里可以解决吗?应该怎么写

Dim lst As New List(of String)

For j As Integer = Tables("表A").TopPosition To Tables("表A").BottomPosition
    lst.add(Tables("表A").Rows(j)("_Identify"))
Next
Dim s As String
Dim filter As String = "_Identify in (" & String.join(",",lst.toarray)  & ")"
For Each s1 As String In DataTables("表A").getvalues("部门",filter )
    s  = s & vbcr & s1
    Dim idx As Integer = 1
    For Each dr As DataRow In DataTables("表A").Select("部门='" & s1 & "' and " & 

filter )
        If dr("性质") = "省外"
            s = s & vbcr & idx & "、(" & dr("性质") & ")" & "派出" & dr("姓名") & "。" 

& iif(dr("目的地") = "","","赴" & dr("目的地")) & "出差。"
        Else
            s = s & vbcr & idx & "、" & "派出" & dr("姓名") & "。" & iif(dr("目的地") 

= "","","赴" & dr("目的地")) & "出差。" 
        End If
        idx = idx + 1
    Next
Next

Dim tm As String  = ProjectPath & "Attachments\代码1.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\代码1.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
wrt.Replace("[内容]", s.trim(vbcr))
wrt.BuildOne(Tables("表A").Current)
wrt.Show() '显示报表


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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/25 17:02:00 [只看该作者]

必须添加排序列

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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 17:16:00 [只看该作者]

是在表里操作吗?

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


加好友 发短信
等级:婴狐 帖子:26 积分:315 威望:0 精华:0 注册:2020/3/11 23:44:00
  发帖心情 Post By:2021/6/25 17:19:00 [只看该作者]

是增加数据列还是表达式列

 回到顶部
总数 25 上一页 1 2 3 下一页