'''
Dim rg As prt.RenderGraphics
Dim i1 As Integer
Dim doc As New PrintDoc '定义一个报表
Dim tbl As Table = Tables("待办事项")
For i As Integer = tbl.TopRow To tbl.BottomRow
Dim rw As Row = tbl.Rows(i)
For i1 = 1 To 2
Dim ra As New prt.RenderArea '定义一个容器
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止容器因为分页而被垂直分割
'加入标题
rx.text = rw("单位")
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 18 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Top = 3 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx) '加入到容器中
Dim rx1 As New prt.RenderText '定义一个文本对象
rx1.text = "党史学习教育和""牢记殷切嘱托、"
rx1.Style.FontBold = True '字体加粗
rx1.Style.FontSize = 18 '大体大小为16磅
rx1.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
'rx1.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx1) '加入到容器中
Dim rx11 As New prt.RenderText '定义一个文本对象
rx11.text = "忠诚干净担当、喜迎建党百年""专题教育 "
rx11.Style.FontBold = True '字体加粗
rx11.Style.FontSize = 18 '大体大小为16磅
rx11.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
'rx11.Style.Spacing.Bottom = 5 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx11) '加入到容器中
Dim rx2 As New prt.RenderText '定义一个文本对象
rx2.text = "工作提示单"
rx2.Style.FontBold = True '字体加粗
rx2.Style.FontSize = 18 '大体大小为16磅
rx2.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx2.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
ra.Children.Add(rx2) '加入到容器中
'指定行数?列数?列宽?行高
rt.Rows.Count = 6 '设置总行数
rt.Height = 85 '设置表格的高度
rt.Rows(0).Height = 10 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
rt.Rows(1).Height = 50 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
rt.Rows(2).Height = 10 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
rt.Rows(3).Height = 10 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
rt.Rows(4).Height = 5 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
'设置合并单元格
rt.Cells(4,0).SpanCols = 5 '第5行第2个单元格向右合并3列(用于显示uuid)
rt.Cells(0,0).SpanCols = 5 '第5行第2个单元格向右合并3列(用于显示uuid)
rt.Cells(1,0).SpanCols = 5 '第7行第1个单元格向右合并5列(用于显示备注)
rt.Cells(2,1).SpanCols = 4 '第7行第1个单元格向右合并5列(用于显示备注)
rt.Cells(3,2).SpanCols = 3 '第7行第1个单元格向右合并5列(用于显示备注)
rt.Cells(2,0).SpanRows = 2
rt.Cells(2,1).SpanRows = 1
'设置表格样式
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
rt.Style.GridLines.All = New prt.Linedef '设置网格线
'下面很简单,指定每一个单元格的内容
rt.Cells(0,0).Text= rw("待办人") & ":"
rt.Cells(0,0).Style.TextAlignHorz=prt.AlignHorzEnum.Left
rt.Cells(0,0).Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt.Cells(1,0).Text= " 根据" & rw("事项名称") & "工作安排,您应于" & Format(rw("应办时间"),"yyyy年M月d日") & "提交" & rw("事项内容") & "。经查,您至今未完成。请于" & Format(rw("到期时间"),"yyyy年M月d日") & "前将电子档资料和纸质资料交到院B201办公室汇总归档。"
rt.Cells(1,0).Style.TextIndent = 100
rt.Cells(1,0).Style.TextAlignVert=prt.AlignVertEnum.top
rt.Cells(1,0).Style.LineSpacing=150
rt.Cells(1,0).Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt.Cells(2,1).Text= rw("单位") & "党史学习教育领导小组"
rt.Cells(2,1).Style.TextAlignHorz=prt.AlignHorzEnum.Center
rt.Cells(2,1).Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt.Cells(3,2).Text= Format(Date.Today,"yyyy年M月d日")
rt.Cells(3,2).Style.Font = New Font("宋体", 16, FontStyle.Bold)
rt.Cells(3,2).Style.TextAlignHorz=prt.AlignHorzEnum.Center
rt.Cells(3,2).Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
rt.Cells(4,0).text="扫我在线提交"
rt.Cells(4,0).Style.TextAlignVert=prt.AlignVertEnum.Bottom
rt.Cells(4,0).Style.Font = New Font("黑体", 8, FontStyle.Bold)
ra.Children.Add(rt) '加入到容器中
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
bar.Code ="http://127.0.0.1:9090/smrenwu.htm?a="& rw("待办人") & "&b=" & rw("事项名称")
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,0.5)
ra = rt.Cells(2,0).Area '引用单元格的容器 '
ra.Children.Add(rg) '
If i1= 1
Dim rt2 As New prt.RenderText '定义一个文本对象
rt2.Text = ".............................................................................................................................................................." '设置文本对象的内容
ra.Children.Add(rt2)
End If
Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
Next
Next
Doc.Preview() '预览报表
如果将代码更换为
……
rt.Cells(4,0).Style.Font = New Font("黑体", 8, FontStyle.Bold)
Doc.Body.ChildRen.Add(ra)
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
bar.Code ="http://127.0.0.1:9090/smrenwu.htm?a="& rw("待办人") & "&b=" & rw("事项名称")
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,0.5)
ra = rt.Cells(2,0).Area '引用单元格的容器 '
ra.Children.Add(rg) '
If i1= 1
Dim rt2 As New prt.RenderText '定义一个文本对象
rt2.Text = ".............................................................................................................................................................." '设置文本对象的内容
ra.Children.Add(rt2)
End If
Doc.Body.ChildRen.Add(rt) '将容器加入到报表中
Next
Next
Doc.Preview() '预览报表
运行效果如下:【中间的……………………………………线不显示了】
此主题相关图片如下:13.png