以下代码根据表A生成统计表,问题是所有的产品的折线图都是显示在同一个统计图中
能不能实现——每一个产品都生成一个独立的折线统计图,比如5个产品,就生成5个统计图,然后把5个图全部插入报表word中?
以下代码在哪里修改呢?
请老师们指教,感谢!
'制作报表
Dim doc As New PrintDoc '定义一个报表
Doc.PageSetting.LeftMargin = 15 '设置左边距
Doc.PageSetting.RightMargin = 15 '设置右边距
Doc.PageSetting.TopMargin = 15 '设置上边距
Doc.PageSetting.BottomMargin = 15 '设置下边距
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("表A") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = False
Chart.SeriesList.Clear() '清除图表原来的图系
For r As Integer = 0 To t.Rows.count - 1
Series = Chart.SeriesList.Add() '增加一个图系
Series.Text = t.rows(r)("产品") '设置图系的标题
Series.Length = t.Cols.Count - 1 '设置图系的长度
For c As Integer = 1 To t.Cols.count -1
Series.X(c - 1) = c - 1
Series.Y(c - 1) = t.Rows(r)(c)
Chart.AxisX.SetValueLabel(c - 1, t.Cols(c).caption) '指定字符表示
Next
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
'-----------引用插入统计图
Dim rm As New prt.RenderImage
rm.Image = Chart.Image()
rm.Width = "Parent.Width"
rm.Height = "Auto" '高度由图片大小自动决定
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
rm.Style.ImageAlign.StretchHorz = True '禁止拉伸
'rm.Style.ImageAlign.StretchVert = False
rm.Style.Spacing.Top = 5
doc.Body.Children.Add(rm) '将图片对象加入报表
Doc.Preview() '预览报表
[此贴子已经被作者于2019/6/9 11:39:23编辑过]