Foxtable(狐表)用户栏目专家坐堂 → josn内容直接代码替换word模版中指定的字符 在 Foxtable.WordReport.Build()出错 并且输出重复数据??


  共有1100人关注过本帖平板打印复制链接

主题:josn内容直接代码替换word模版中指定的字符 在 Foxtable.WordReport.Build()出错 并且输出重复数据??

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
josn内容直接代码替换word模版中指定的字符 在 Foxtable.WordReport.Build()出错 并且输出重复数据??  发帖心情 Post By:2023/11/18 2:01:00 [只看该作者]

josn内容直接代码替换word模版中指定的字符 在 Foxtable.WordReport.Build()出错
麻烦老师们帮忙看看问题出现在哪?
需要协助的问题:
1、wenben会输出重复值,有没有办法只输出最后一次的完整数据
当前输出为:
①、张三
②、张三
     李四
③、张三
     李四
     王五
有没有办法直接输出仅只输出序号为3的值呢?

2、将这个josn值直接写入word中并替换指定字符。

当前代码为:
Dim json As String = ja.ToString
Dim ja12 As JArray = Jarray.Parse(json)
Dim sss As String
Dim ssss As String
Dim wenben As String
For i As Integer = 0 To ja12.Count - 1
  sss = "在" & ja12(i)("活动名称").ToString() & "活动中,从" & ja12(i)("开始日期").ToString() & "至" & ja12(i)("结束日期").ToString() & ",对" & ja12(i)("案件id集合").ToString() & "等" & ja12(i)("案件数量").ToString() & "件案事件进行评查评分,组织" & ja12(i)("评查人员").ToString() & "等" & ja12(i)("评查人数").ToString() & "人参与评查活动。" & Chr(13) & Chr(10)
ssss &= i + 1 & "、由" & ja12(i)("评分人").ToString() & "对" & ja12(i)("案件名称").ToString() & "案件进行评查打分,其中:审查调查阶段得分" & ja12(i)("审查调查得分").ToString() & "分,审理阶段得分" & ja12(i)("审理得分").ToString() & "分,加分" & ja12(i)("加分").ToString() & "分,加倍扣分" & ja12(i)("加倍扣分").ToString() & "分,总分为:" & ja12(i)("最终得分").ToString() & "分,评为:" & ja12(i)("评查等次").ToString() & "案件。" & Chr(13) & Chr(10)
    ssss &= "评审及分值明细为:" & Chr(13) & Chr(10) 
    Dim ja121 As JArray = Jarray.Parse(ja12(i)("children").ToString())
    For i121 As Integer = 0 To ja121.Count - 1
        ssss &= "(" & i121 + 1 & ")、" & ja121(i121)("卷宗名称").ToString() & "卷中" & ja121(i121)("资料名称").ToString().Replace(".pdf", "").Replace(".png", "") & "的材料因" & ja121(i121)("参考规则").ToString() & "(" & ja121(i121)("分值类型").ToString().Replace("分", "") & ja121(i121)("评分").ToString() & "分);" & Chr(13) & Chr(10)
    Next
    wenben = sss & ssss 
    Output.Show(wenben)
    
Next


Dim time As String = Format(Date.now, "yyyyMMddHHmmss") 
Dim tm As String = ProjectPath & "Attachments\评查活动报告模板.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\" & "评查活动报告模板" & time & ".doc" '指定目标文件
Dim wrt As New WordReport(tm, fl) '注意这里无需指定表名
' wrt.AddDataTable("统计报告", "主数据源", "")
wrt.Replace("[统计报告]", wenben) ' 
wrt.Build() '生成报表
wrt.Quit() '退出

---------------------------
版本:2022.8.18.1
---------------------------
代码执行出错,错误信息:
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 Foxtable.WordReport.Build()
   在 UserCode.Test()
---------------------------
确定   
---------------------------




 回到顶部