Foxtable(狐表)用户栏目专家坐堂 → 关于word报表模板分组显示问题


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

主题:关于word报表模板分组显示问题

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107169 积分:545094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/1 11:09:00 [只看该作者]

同样的方法合并到字符串里,自己动手做

 回到顶部
帅哥,在线噢!
jhxb8821
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:653 积分:4759 威望:0 精华:0 注册:2016/4/15 22:24:00
字体、颜色变化问题  发帖心情 Post By:2020/4/1 14:33:00 [只看该作者]

老师,这段生成Word模板的代码,我想将".正确答案: "设成黑体,红字,这个代码怎么修改?

Dim tm As String  = ProjectPath & "Attachments\试卷模板.doc" '指定模板文件

Dim fl As String = ProjectPath & "Reports\试卷模板.doc" '指定目标文件

Dim wrt As New WordReport(Tables("抽题"),tm,fl) '定义一个WordReport

Dim sb As new StringBuilder

For Each s As String In DataTables("抽题").GetValues("类别")

    sb.clear

    Dim i As Integer = 1

    For Each dr As DataRow In DataTables("抽题").Select("类别='" & s & "'")

        sb.AppendLine(i & ". " & dr("题目") & ".正确答案: " & dr("正确答案"))

        i += 1

    Next

    wrt.Replace("[" & s & "]",sb.ToString)

Next

wrt.Build() '逐行生成报表

wrt.Show() '显示报表


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


加好友 发短信
等级:超级版主 帖子:107169 积分:545094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/1 15:16:00 [只看该作者]

没有办法控制

 回到顶部
帅哥,在线噢!
jhxb8821
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:653 积分:4759 威望:0 精华:0 注册:2016/4/15 22:24:00
应该可以解决  发帖心情 Post By:2020/4/1 15:26:00 [只看该作者]

".正确答案: "设成黑体,红字,应该可以做到吧?

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


加好友 发短信
等级:超级版主 帖子:107169 积分:545094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/1 15:46:00 [只看该作者]

这个是拼凑字符串的,无法控制。如果要做需要生成文件后再使用vba打开文档,然后使用代码搜索.正确答案,在使用代码设置样式。目前foxtable没有提供wordvba的相关用法,可以自己上网搜搜

比如:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70797&skin=0

 回到顶部
帅哥,在线噢!
jhxb8821
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:653 积分:4759 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/5/20 10:05:00 [只看该作者]

不好意思,这个问题问过了
[此贴子已经被作者于2024/5/20 10:07:29编辑过]

 回到顶部
帅哥,在线噢!
jhxb8821
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:653 积分:4759 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/5/20 14:14:00 [只看该作者]

Dim cnt As Integer = DataTables("数据1").DataRows.Count
Dim ids1 As New List(Of Integer) '用于存储洗牌前的位置
Dim ids2 As New List(Of Integer) '用于存储洗牌后的位置
For i As Integer = 0 To cnt - 1 '准备初始的牌
    ids1.add(i)
Next
'For i As Integer = 0 To cnt \ 3 '开始洗牌
For i As Integer = 0 To cnt - 3 '开始洗牌
    ids2.Add(ids1(rand.Next(0, ids1.count)))
Next
老师, 我想问一下, 下面这两句代码有什么区别?
For i As Integer = 0 To cnt \ 3 '洗牌次数  开始洗牌
For i As Integer = 0 To cnt - 3 '开始洗牌

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


加好友 发短信
等级:超级版主 帖子:107169 积分:545094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/20 14:29:00 [只看该作者]


 回到顶部
帅哥,在线噢!
jhxb8821
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:653 积分:4759 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/5/20 17:24:00 [只看该作者]

老师, 我现在明白了代码的含义:
Output.Show(cnt - 3) 'cnt - 3表示总行数-3次;
Output.Show(cnt \ 4) 'cnt \ 3表示次数为总行数的1/3;
洗牌次数还是用Output.Show(cnt \ 4) 这种形式比较好, 具体需要洗牌次数为多少, 如何定?比如1000行和10000行, 都用三分之一吗?还是前者用三分之一, 后者用四分之一, 还是洗牌次数太多?

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


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

理论上越多次越好,但是会增加开销。自己测试找个合适的数


 回到顶部
总数 45 上一页 1 2 3 4 5 下一页