以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报表第二行为0 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108622) |
-- 作者:aaacc -- 发布时间:2017/10/26 10:13:00 -- 报表第二行为0 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
|
-- 作者:aaacc -- 发布时间:2017/10/26 10:14:00 -- 我想问一下 本来是没有第二行的 但是这个第二行出来的都是0是什么原因 怎么才能不显示0 谢谢 |
-- 作者:aaacc -- 发布时间:2017/10/26 10:15:00 -- 中间那条只有一行 但是强行出来两行 还显示为0 实在不知道问题在哪里 |
-- 作者:aaacc -- 发布时间:2017/10/26 10:29:00 -- 有没有大神 帮忙解决一下啊 |
-- 作者:有点甜 -- 发布时间:2017/10/26 10:36:00 -- 加上判断,如
If rw ("颜色2") <> nothing Then 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")
End If
|
-- 作者:aaacc -- 发布时间:2017/10/26 10:48:00 -- 不行啊 还是没变 |
-- 作者:aaacc -- 发布时间:2017/10/26 10:48:00 -- 还是跟原来一样的 没有变化 |
-- 作者:有点甜 -- 发布时间:2017/10/26 11:10:00 -- 那试试,如果不行,做个具体例子发上来测试
msgbox(rw ("颜色2") & " " & (rw ("颜色2")=nothing)) If rw ("颜色2") <> nothing Then 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")
else
rt.Cells(3,0).Text = ""
rt.Cells(3,1).Text = ""
rt.Cells(3,2).Text = ""
rt.Cells(3,3).Text = ""
rt.Cells(3,4).Text = ""
rt.Cells(3,5).Text = ""
rt.Cells(3,6).Text = ""
rt.Cells(3,7).Text = ""
End If |
-- 作者:aaacc -- 发布时间:2017/10/26 11:12:00 -- 可以了 谢谢有点甜老师 |