以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 专业报表 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=196473) |
||||
-- 作者:cd_tdh -- 发布时间:2025/4/30 11:20:00 -- 专业报表 老师,我表结构如下: 如果一级标题有3个,生成时就按照顺序为第一章、第二章、第三章, 第一个一级标题对应有2个二级标题,生产为第一节、第二节 代码该怎么修改? Dim doc As New PrintDoc \'定义一个报表 Dim rt As prt.RenderText \'定义一个文本对象 Dim s As String \'定义字符变量 For Each r As Row In Tables("表A").Rows If r("一级标题") <> ""Then s = "第一章 " & r("一级标题") rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center rt.Style.Font = New Font("黑体", 16, FontStyle.Bold) \'设置字体 rt.Style.Spacing.top = 5 \'设置上间隔为5毫米 \' rt.Style.Spacing.Bottom = 5 \'设置下间隔为5毫米 rt.Style.LineSpacing = 200 \'2.0倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 End If If r("二级标题") <> "" Then s = "第一节 " & r("二级标题") rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center rt.Style.Font = New Font("黑体", 14, FontStyle.Bold) \'设置字体 rt.Style.Spacing.top = 5 \'设置上间隔为5毫米 rt.Style.Spacing.Bottom = 5 \'设置下间隔为5毫米 rt.Style.LineSpacing = 150 \'2.0倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 End If If r("三级标题") <> "" Then s = "一、" & r("三级标题") rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.LineSpacing = 200 \'1.5倍行距 rt.Style.TextIndent = 10 \'首行缩进10毫米 doc.Body.Children.Add(rt) \'将文本对象加入到报表 Else s = r("正文") rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextIndent = 7 \'首行缩进10毫米 rt.Style.Font = New Font("仿宋", 12) \'设置字体 rt.Style.LineSpacing = 200 \'1.5倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 End If Next doc.Preview() \'预览 示例文件:
[此贴子已经被作者于2025/4/30 11:21:44编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2025/4/30 11:34:00 -- Dim i1 As Integer = 1 Dim i2 As Integer = 1 For Each r As Row In Tables("表A").Rows If r.IsNull("一级标题") = False Then s = "第" & i1 & "章 " & r("一级标题") i1 += 1 i2 = 1 rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center rt.Style.Font = New Font("黑体", 16, FontStyle.Bold) \'设置字体 rt.Style.Spacing.top = 5 \'设置上间隔为5毫米 \' rt.Style.Spacing.Bottom = 5 \'设置下间隔为5毫米 rt.Style.LineSpacing = 200 \'2.0倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 s = "第" & i2 & "节 " & r("二级标题") i2 += 1 rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center rt.Style.Font = New Font("黑体", 16, FontStyle.Bold) \'设置字体 rt.Style.Spacing.top = 5 \'设置上间隔为5毫米 \' rt.Style.Spacing.Bottom = 5 \'设置下间隔为5毫米 rt.Style.LineSpacing = 200 \'2.0倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 Else s = "第" & i2 & "节 " & r("二级标题") i2 += 1 rt = New prt.RenderText rt.Text = s \'设置文本对象的内容 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center rt.Style.Font = New Font("黑体", 16, FontStyle.Bold) \'设置字体 rt.Style.Spacing.top = 5 \'设置上间隔为5毫米 \' rt.Style.Spacing.Bottom = 5 \'设置下间隔为5毫米 rt.Style.LineSpacing = 200 \'2.0倍行距 doc.Body.Children.Add(rt) \'将文本对象加入到报表 End If Next
|