Foxtable(狐表)用户栏目专家坐堂 → [求助]Word报表中的图片


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

主题:[求助]Word报表中的图片

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]Word报表中的图片  发帖心情 Post By:2022/9/16 17:01:00 [只看该作者]

老师好!

在Word模板中,设置特定字符串" [主题图片] ", 在生成报表时用图片去替换它。

单行生成报表时没有问题,多行生成的报表,报表中的图片都是第一行的,这个问题怎样处理?

 

Dim rs As List(of Row) = Tables("出库").GetCheckedRows
If rs.Count > 0 Then
    Dim tm As String  = ProjectPath & "Attachments\出库单.doc"
    Dim fl As String = ProjectPath & "Reports\出库单.doc"
    Dim wrt As New WordReport(Tables("出库"),tm,fl)
    For Each r As Row In rs
        wrt.ReplaceWithImage("[主题图片]", ProjectPath & "Attachments\主题图片\" & dr("主题图片"), 370, 260)
        wrt.BuildOne(r)
    Next
    wrt.Show() '显示报表
End If


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


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

wrt.ReplaceWithImage("[主题图片]", ProjectPath & "Attachments\主题图片\" & r("主题图片"), 370, 260)

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2022/9/16 20:45:00 [只看该作者]

我做了个例子,麻烦老师看一下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:word报表.zip



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


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

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


 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2022/9/19 16:37:00 [只看该作者]

蓝老师好!我对窗口表的勾选行生成报表时,又出现勾选任何一行,都出现第一行的图片,不知道是哪里的问题,麻烦老师再给看一下。谢谢!

 

代码:

Dim Filter As String = "标注 = true"
Dim cnt As Integer
cnt = DataTables("组织生活会").Compute("Count([标注])", Filter)

If cnt = 0 Then
    msgbox("请勾选要生成的行!")
Else
    Dim tm As String = ProjectPath & "Attachments\03组织生活会记录.docx"
    Dim fileName As String = ProjectPath & "Reports\03组织生活会记录.docx"
    Dim wrt As New WordReport(Tables("报表_table1"), tm, fileName) '定义一个WordReport
   
    Dim drs As List(Of DataRow)
    drs = DataTables("组织生活会").Select(Filter)
    Dim dr As DataRow
    For i As Integer = 0 To drs.Count - 1 '遍历所有行     
       
        dr = DataTables("组织生活会").DataRows(i)
        wrt.ReplaceOne("[会议主题图片]", "[会议主题图片1]")
        If i > 0 Then
            wrt.ReplaceWithImage("[会议主题图片1]", ProjectPath & "Attachments\主题图片\" & DataTables("组织生活会").DataRows(i - 1)("会议主题图片"), 370, 260)
        End If
       
        wrt.BuildOne(dr)
'        wrt.RecordsOnEachPage = 1
    Next
    wrt.ReplaceWithImage("[会议主题图片1]", ProjectPath & "Attachments\主题图片\" & dr("会议主题图片"), 370, 260)
    wrt.Show() '显示报表
    ShowAppWindow("预览.docx", 1) '最大化显示此窗口
End If

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:word报表图片.zip


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


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

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


 回到顶部