Foxtable(狐表)用户栏目专家坐堂 → word报表的问题


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

主题:word报表的问题

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


加好友 发短信
等级:一尾狐 帖子:411 积分:4938 威望:0 精华:0 注册:2012/11/16 8:21:00
word报表的问题  发帖心情 Post By:2021/12/1 22:44:00 [只看该作者]

老师,我用word模板生成一套练习题,试题2为远程图片链接,如数据库所示,现在问题有两个
1是每个题目的图片始终是第一题的图片,始终重复,以后的不显示
2是图片前面还是有一个小问号,不知怎么替换掉


数据库字段及最后的效果截图:


此主题相关图片如下:aaa.png
按此在新窗口浏览图片


程序代码:
以下内容为程序代码:

1 Dim tm As String = ProjectPath & "Attachments\试题.doc" '指定模板文件
2 Dim fl As String = ProjectPath & "Reports\试题.doc" '指定目标文件
3 Dim wrt As New WordReport(Tables("基础库_数据导入"),tm,fl) '定义一个WordReport
4 Dim m As Integer
5 For Each r As Row In Tables("基础库_数据导入").rows '逐行生成报表
6 m=m+1
7 output.show("第" & m & "个,共" & CurrentTable.Rows.count & "个")
8 '标题开始
9 Dim st As String
10 Dim st2 As String
11 st=r("a").replace(chr(10),"")'逐行累计
12 st2=r("b").replace(chr(10),"")
13 If st2.Trim().Length>0 Then '如果有图片
14 Dim d As Date = Date.Now()
15 Dim sj As String =d.Hour & d.Minute & d.Second
16 Dim wjm As String="c:\data\" &sj & FileSys.GetName(st2)
17 Network.DownloadFile(st2,wjm )
18 wrt.ReplaceOne("[试题]",st.replace(chr(10),"") & vbcrlf)
19 Dim img As Image = GetImage(wjm)
20 If img.width>400 Then
21 wrt.ReplaceWithImage("[试题2]",wjm,400,400*img.height/img.width)
22 Else
23 wrt.ReplaceWithImage("[试题2]",wjm,img.width,img.height)
24 End If
25 Else
26 wrt.ReplaceOne("[试题]",st)
27 wrt.ReplaceOne("[试题2]","")
28 End If
29 '标题结束 '答案开始
30
31 '解析结束
32 wrt.BuildOne(r)
33 Next
34 wrt.Show() '显示报表



word模板为:

[试题] [试题2]


[此贴子已经被作者于2021/12/1 22:45:22编辑过]

 回到顶部