以文本方式查看主题

-  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=101217)

--  作者:conancheng
--  发布时间:2017/5/26 20:25:00
--  [求助]word报表中打印的问题

图片点击可在新窗口打开查看此主题相关图片如下:数据.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:打印.png
图片点击可在新窗口打开查看
数据格式是这样的,想打印成这种模式,模板里只能打印出第一条记录,后面两行绝缘电阻测试和直流耐压的测试打印不到第一页面内,分了三次打印出来。。。请教下代码怎么编写,以下是项目文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:设备检修档案.zip
[此贴子已经被作者于2017/5/26 20:25:32编辑过]

--  作者:有点蓝
--  发布时间:2017/5/26 21:05:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:设备检修档案.table


--  作者:conancheng
--  发布时间:2017/5/26 21:27:00
--  
以下是引用有点蓝在2017/5/26 21:05:00的发言:
 下载信息  [文件大小:332.0 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:设备检修档案.table

不行。。。点了打印按钮后出来还是只有一行有数据
[此贴子已经被作者于2017/5/26 21:30:32编辑过]

--  作者:有点蓝
--  发布时间:2017/5/26 21:46:00
--  
模板要改,忘记上传了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电力电缆试验报告.zip


--  作者:conancheng
--  发布时间:2017/5/26 22:03:00
--  
以下是引用有点蓝在2017/5/26 21:46:00的发言:
模板要改,忘记上传了
 下载信息  [文件大小:10.9 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:电力电缆试验报告.zip

能打印了。。。只能打印第123行,第345行虽然我选中了,但是没打印出来。。。应该打印到第2页,可是目前只有一页
--  作者:有点蓝
--  发布时间:2017/5/26 22:47:00
--  
Dim tm As String  = ProjectPath & "Attachments\\电力电缆试验报告.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\电力电缆试验报告.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("电力电缆试验报告"),tm,fl) \'定义一个WordReport
Dim sum As Integer
Dim t As Table = Tables("电力电缆试验报告")
Dim nms As new Dictionary(of String,Integer)
For i As Integer = t.TopRow To t.BottomRow
    If nms.ContainsKey(t.Rows(i)("工程名称")) = False AndAlso t.Rows(i).IsNull("工程名称") = False  Then
        nms.Add(t.Rows(i)("工程名称"),i)
    End If
Next
For Each name As String In nms.Keys
    For Each dr As DataRow In DataTables("电力电缆试验报告").Select("工程名称=\'" & name & "\'")
        wrt.ReplaceOne("[结果" & dr("相位A") & "]",dr("结果A"))
        wrt.ReplaceOne("[结果" & dr("相位B") & "]",dr("结果B"))
        wrt.ReplaceOne("[结果" & dr("相位C") & "]",dr("结果C"))
        wrt.ReplaceOne("[打压等级" & dr("相位").SubString(0,1) & "]",dr("打压等级"))
        wrt.ReplaceOne("[持续时间" & dr("相位").SubString(0,1) & "]",dr("持续时间"))
        wrt.ReplaceOne("[泄露电流" & dr("相位").SubString(0,1) & "]",dr("泄露电流"))
    Next
    wrt.BuildOne(t.Rows(nms(name)))
    wrt.Show() \'显示报表
Next

--  作者:conancheng
--  发布时间:2017/5/27 9:24:00
--  
以下是引用有点蓝在2017/5/26 22:47:00的发言:
Dim tm As String  = ProjectPath & "Attachments\\电力电缆试验报告.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\电力电缆试验报告.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("电力电缆试验报告"),tm,fl) \'定义一个WordReport
Dim sum As Integer
Dim t As Table = Tables("电力电缆试验报告")
Dim nms As new Dictionary(of String,Integer)
For i As Integer = t.TopRow To t.BottomRow
    If nms.ContainsKey(t.Rows(i)("工程名称")) = False AndAlso t.Rows(i).IsNull("工程名称") = False  Then
        nms.Add(t.Rows(i)("工程名称"),i)
    End If
Next
For Each name As String In nms.Keys
    For Each dr As DataRow In DataTables("电力电缆试验报告").Select("工程名称=\'" & name & "\'")
        wrt.ReplaceOne("[结果" & dr("相位A") & "]",dr("结果A"))
        wrt.ReplaceOne("[结果" & dr("相位B") & "]",dr("结果B"))
        wrt.ReplaceOne("[结果" & dr("相位C") & "]",dr("结果C"))
        wrt.ReplaceOne("[打压等级" & dr("相位").SubString(0,1) & "]",dr("打压等级"))
        wrt.ReplaceOne("[持续时间" & dr("相位").SubString(0,1) & "]",dr("持续时间"))
        wrt.ReplaceOne("[泄露电流" & dr("相位").SubString(0,1) & "]",dr("泄露电流"))
    Next
    wrt.BuildOne(t.Rows(nms(name)))
    wrt.Show() \'显示报表
Next

这个试了可以用,能不能在打印一页后强制换页,这个跟着后面打出来的表格断开了,我通过模板怎么调整页边距和格式都不行,还是会出现如下图的情况
图片点击可在新窗口打开查看此主题相关图片如下:换页.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/5/27 9:25:44编辑过]

--  作者:conancheng
--  发布时间:2017/6/15 20:09:00
--  
以下是引用有点蓝在2017/5/26 22:47:00的发言:
Dim tm As String  = ProjectPath & "Attachments\\电力电缆试验报告.doc" \'指定模板文件
Dim fl As String = ProjectPath & "Reports\\电力电缆试验报告.doc" \'指定目标文件
Dim wrt As New WordReport(Tables("电力电缆试验报告"),tm,fl) \'定义一个WordReport
Dim sum As Integer
Dim t As Table = Tables("电力电缆试验报告")
Dim nms As new Dictionary(of String,Integer)
For i As Integer = t.TopRow To t.BottomRow
    If nms.ContainsKey(t.Rows(i)("工程名称")) = False AndAlso t.Rows(i).IsNull("工程名称") = False  Then
        nms.Add(t.Rows(i)("工程名称"),i)
    End If
Next
For Each name As String In nms.Keys
    For Each dr As DataRow In DataTables("电力电缆试验报告").Select("工程名称=\'" & name & "\'")
        wrt.ReplaceOne("[结果" & dr("相位A") & "]",dr("结果A"))
        wrt.ReplaceOne("[结果" & dr("相位B") & "]",dr("结果B"))
        wrt.ReplaceOne("[结果" & dr("相位C") & "]",dr("结果C"))
        wrt.ReplaceOne("[打压等级" & dr("相位").SubString(0,1) & "]",dr("打压等级"))
        wrt.ReplaceOne("[持续时间" & dr("相位").SubString(0,1) & "]",dr("持续时间"))
        wrt.ReplaceOne("[泄露电流" & dr("相位").SubString(0,1) & "]",dr("泄露电流"))
    Next
    wrt.BuildOne(t.Rows(nms(name)))
    wrt.Show() \'显示报表
Next

能帮忙解决下吗?
--  作者:有点色
--  发布时间:2017/6/15 20:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:设备检修档案.zip


--  作者:conancheng
--  发布时间:2017/6/15 22:14:00
--  
这个是EXCEL模板,我想实现跟主题里一样的打印样式,因为我发现word打印生成速度没excel快,帮忙指导下,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电缆预防性试验报告xlsx