以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  专业报表保存问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115901)

--  作者:douglas738888
--  发布时间:2018/3/16 11:29:00
--  专业报表保存问题

请教老师

1. 专业报表如何保存为WORD类型

2. 专业报表阅览有图形,保存为PDF生成的图表无内容

 

 

 

代码:

Dim fl As String = "f:\\综合\\Text.Pdf"
Dim doc As New PrintDoc

\'生成图表
Dim Chart As New ChartBuilder \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart.DataSource = "员工信息_Table1"
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar \'图表1类型该为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系

Series = Chart.SeriesList.Add() \'增加一个图系
Series.Text = "任务天数"
Series.X.DataField = "电压等级" \'X轴绑定到月份列
Series.Y.DataField = "任务天数" \'Y轴绑定到数量列
Series.DataLabelText = "{#YVAL}" \'显示数值
Series = Chart.SeriesList.Add() \'给图表2增加一个图系
Series.Text = "任务效率"
Series.X.DataField = "电压等级" \'X轴绑定到月份列
Series.Y.DataField = "任务效率" \'Y轴绑定到数量列
Series.DataLabelText = "{#YVAL}" \'显示数值
\'Chart.DataSource = "员工信息_Table1"
\'Chart.DataTable = tbe \'设置绑定表

Dim fnt As New Font("黑体",11,FontStyle.Bold )  \'生成图表标题  ("黑体",22,FontStyle.bold)加粗字体
Chart.HeaderText =  "项目投标设计任务与效率比对分析图示" 
Chart.HeaderFont = fnt

Chart.BackColor = System.Drawing.Color.Gainsboro \'图表背景颜色
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)
Chart.AxisY.Text = "任务用时天数比对(天)"
\'Chart.AxisY2.Text = "任务效率"
Chart.PrintWidth = 158.5 \'图表宽度为150毫米
Chart.PrintHeight = 80 \'图标高度为100毫米

\'打印图表
Dim rmm1 As New prt.RenderImage
rmm1.Width = 158.5 \'设置尺寸,这个尺寸最好和图表尺寸一致,以免打印出来的图表变形.
rmm1.Height = 80
rmm1.Image = Chart.Image()
rmm1.Style.ImageAlign.StretchHorz = False \'禁止拉伸
rmm1.Style.ImageAlign.StretchVert = False
rmm1.Style.Spacing.Top = 3
rmm1.Style.Borders.All = New prt.Linedef(1, Color.Silver) \'设置边框
doc.Body.Children.Add(rmm1) \'将图片对象加入报表

doc.Preview()
doc.SavePdf(fl) \'保存为PDF文件


 阅览显示的情况


此主题相关图片如下:11.jpg
按此在新窗口浏览图片


 保存PDF打开的情况


此主题相关图片如下:22.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2018/3/16 11:29:59编辑过]

--  作者:有点甜
--  发布时间:2018/3/16 11:46:00
--  

1、无法直接保存为word的;如果你需要生成word,你可以用word报表,然后插入值、图片等

 

http://www.foxtable.com/webhelp/scr/2890.htm

 

2、我测试这个代码没问题

 

Dim Chart As New ChartBuilder
Chart.SeriesList.Clear() \'清除图表原来的图系
Dim Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = 10 \'新增图系包括10个数据点
For i As Integer = 0 To 9 \'指定每个数据点的位置
    Series.X(i) = i \'指定水平坐标
    Series.Y(i) = i + Rand.Next(5) \'垂直坐标用随机数生成
Next
Chart.PrintWidth =140
Chart.PrintHeight = 100
\'打印图表
Dim doc As New PrintDoc
Dim rm As New prt.RenderImage
rm.Image = Chart.Image
doc.Body.Children.Add(rm)
\'Doc.Preview()
doc.SavePdf("d:\\test.pdf")