Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.CellStyle.Spacing.All = 1 '内容距离网格线1毫米
rt.cells(0,0).Text = "第一季度" '设置第一行第一个单元格的内容
rt.Cells(0,3).Text = "第二季度" '设置第一行第四个单元格的内容
rt.cells(0,0).SpanCols = 3 '合并第一行前三个单元格
rt.Cells(0,3).SpanCols = 3 '合并第一行最后三个单元格
rt.Cells(1,0).Text= "华东"
rt.Cells(1,1).Text = "华南"
rt.Cells(1,2).Text = "华北"
rt.Cells(1,3).Text= "华东"
rt.Cells(1,4).Text = "华南"
rt.Cells(1,5).Text = "华北"
rt.RowGroups(0,2).Header = prt.TableHeaderEnum.All '前两行作为表头
rt.RowGroups(0,2).Style.BackColor = Color.LightGray '前两行的颜色设为灰色
rt.RowGroups(0,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center '前两行的文本水平居中
rt.RowGroups(0,2).Style.TextAlignVert = prt.AlignVertEnum.Center '前两行的文本垂直居中
For i As Integer = 1 To 100 '增加100行
rt.Cells(i + 1, 0).Text = i
Next
‘---------------------------------以下代码是生成电子章
Dim rg1 As New prt.RenderGraphics()
Dim fnt As New Font("宋体",10,FontStyle.Bold)
Dim n1 As New Pen(Color.Red,2)
rg1.Graphics.DrawEllipse(n1, 10, 10, 100 ,100)
rg1.Graphics.DrawString("副总经理",fnt,Brushes.Red,30,20)
rg1.Graphics.drawline(n1,15,45,106,45)
rg1.Graphics.DrawString("2017-9-23",fnt,Brushes.Red,20,50)
rg1.Graphics.drawline(n1,15,75,106,75)
rg1.Graphics.DrawString("刘德华",fnt,Brushes.Red,30,80)
Doc.Body.Children.Add(rg1)
Doc.Preview() '预览报表
如何将生成的章根据报表数据的多少放在最后两三行表格的上方?如下图所示:
此主题相关图片如下:电子章.png
[此贴子已经被作者于2017/9/25 14:30:08编辑过]