Dim doc As New PrintDoc '定义一个报表
Doc.PageSetting.LeftMargin = 10 '设置左边距
Doc.PageSetting.RightMargin = 10 '设置右边距
Doc.PageSetting.TopMargin = 10 '设置上边距
Doc.PageSetting.BottomMargin = 10 '设置下边距
Dim tbl As Table = Tables("最终")
'设置页眉
Dim rx1 As New prt.RenderTable
rx1.Cells(0,0).Text = "1008-1014"
rx1.Cells(0,1).Text = "销售排行榜前20名"
rx1.Cells(0,2).Text = "第[PageNo]页,共[PageCount]页"
rx1.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx1.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx1.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx1.Style.Spacing.Bottom = 4 '底端内容缩进0.5毫米
rx1.Cells(0,1).Style.Font = New Font("宋体", 16, FontStyle.Bold) '字体大小为8磅
rx1.Style.FontBold = True
Doc.PageHeader = rx1 '作为页眉使用
For i As Integer = tbl.TopRow To 19 'tbl.TopRow表示第一行,tbl.BottomRow表示第二行,若只想显示前100条记录,则将tbl.BottomRow 直接改为 100 即可.
Dim rw As Row = tbl.Rows(i)
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
Dim ra As New prt.RenderArea '定义一个容器
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止容器因为分页而被垂直分割
'指定行数.列数.列宽.行高
rt.Rows.Count = 6 '设置总行数
rt.Cols.Count = 9 '设置总列数
rt.Height = 60 '设置表格的高度为80毫米
rt.Rows(0).Height = 10 '设置表格的高度为80毫米
rt.Cols(8).Width = 50
rt.Rows(0).Style.Font = New Font("宋体", 14, FontStyle.Bold)
'设置合并单元格
rt.Cells(0,0).SpanCols =9 '
rt.Cells(1,8).SpanRows = 7 '第1行第5个单元格向下合并6行(用于显示照片)
'设置表格样式
rt.CellStyle.Spacing.All = 0.5 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
' 设置第一行
'下面很简单,指定每一个单元格的内容
rt.Cells(0,0).Text= " 货号:"+CStr( rw ("货号"))+ " 零售价:"+ CStr(rw ("零售价"))+" 总销量:"+ CStr(rw ("数量总计"))+" 总排名:"+ CStr(rw ("排行"))
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.Cells(1,6).Text= "分布店铺"
rt.Cells(1,7).Text= "销售店铺"
rt.Cells(2,0).Text = rw ("颜色1")
rt.Cells(2,1).Text = rw ("排名")
rt.Cells(2,2).Text = rw ("1数量")
rt.Cells(2,3).Text = rw ("总仓")
rt.Cells(2,4).Text = rw ("门店")
rt.Cells(2,5).Text = rw ("补货未到1")
rt.Cells(2,6).Text = rw ("分布店铺")
rt.Cells(2,7).Text = rw ("销售店铺")
rt.Cells(3,0).Text = rw ("颜色2")
rt.Cells(3,1).Text = rw ("排名1")
rt.Cells(3,2).Text = rw ("2数量")
rt.Cells(3,3).Text = rw ("总仓1")
rt.Cells(3,4).Text = rw ("门店1")
rt.Cells(3,5).Text = rw ("补货未到2")
rt.Cells(3,6).Text = rw ("分布店铺1")
rt.Cells(3,7).Text = rw ("销售店铺1")
rt.Cells(4,0).Text = rw ("颜色3")
rt.Cells(4,1).Text = rw ("排名2")
rt.Cells(4,2).Text = rw ("3数量")
rt.Cells(4,3).Text = rw ("总仓2")
rt.Cells(4,4).Text = rw ("门店2")
rt.Cells(4,5).Text = rw ("补货未到3")
rt.Cells(4,6).Text = rw ("分布店铺2")
rt.Cells(4,7).Text = rw ("销售店铺2")
rt.Cells(5,0).Text = rw ("颜色4")
rt.Cells(5,1).Text = rw ("排名3")
rt.Cells(5,2).Text = rw ("4数量")
rt.Cells(5,3).Text = rw ("总仓3")
rt.Cells(5,4).Text = rw ("门店3")
rt.Cells(5,5).Text = rw ("补货未到4")
rt.Cells(5,6).Text = rw ("分布店铺3")
rt.Cells(5,7).Text = rw ("销售店铺3")
rt.Cells(6,0).Text = rw ("颜色5")
rt.Cells(6,1).Text = rw ("排名4")
rt.Cells(6,2).Text = rw ("5数量")
rt.Cells(6,3).Text = rw ("总仓4")
rt.Cells(6,4).Text = rw ("门店4")
rt.Cells(6,5).Text = rw ("补货未到5")
rt.Cells(6,6).Text = rw ("分布店铺4")
rt.Cells(6,7).Text = rw ("销售店铺4")
rt.Cells(7,0).Text = rw ("颜色6")
rt.Cells(7,1).Text = rw ("排名5")
rt.Cells(7,2).Text = rw ("6数量")
rt.Cells(7,3).Text = rw ("总仓5")
rt.Cells(7,4).Text = rw ("门店5")
rt.Cells(7,5).Text = rw ("补货未到6")
rt.Cells(7,6).Text = rw ("分布店铺5")
rt.Cells(7,7).Text = rw ("销售店铺5")
rt.Cells(1,8).Image = GetImage(rw("图片"))
ra.Children.Add(rt) '加入到容器中
doc.Body.Children.Add(ra) '将表格对象加入到报表中
Next
doc.SaveImage("d:\test2\ph.jpg",300)
此主题相关图片如下:qq图片20171026101125.png