老师,我表结构如下:
此主题相关图片如下:微信截图_20250430111743.png

如果一级标题有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编辑过]