以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Word报表中的图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179903)

--  作者:天一生水
--  发布时间:2022/9/16 17:01:00
--  [求助]Word报表中的图片

老师好!

在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


--  作者:有点蓝
--  发布时间:2022/9/16 17:06:00
--  
wrt.ReplaceWithImage("[主题图片]", ProjectPath & "Attachments\\主题图片\\" & r("主题图片"), 370, 260)
--  作者:天一生水
--  发布时间:2022/9/16 20:45:00
--  
我做了个例子,麻烦老师看一下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:word报表.zip



--  作者:有点蓝
--  发布时间:2022/9/17 9:31:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:天一生水
--  发布时间: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


--  作者:有点蓝
--  发布时间:2022/9/19 16:49:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip