以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 启用双图标 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189789) |
||||
-- 作者:edisontsui -- 发布时间:2023/12/26 10:10:00 -- 启用双图标 关于 http://www.foxtable.com/webhelp/topics/0971.htm 启用双图标的问题: 上面是我们的数据。
上面是生产的图标。 \'生成双图表 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart.ChartType = ChartTypeEnum.Bar \'图表1类型该为Bar(条形) Chart.ChartType2 = ChartTypeEnum.XYPlot \'图表2类型该为线形 Chart.DataSource = "提取绘图数据2" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'给图表1增加一个图系 Series.Text = "应交货" Series.X.DataField = "供应商简称" \'X轴绑定到产品列 Series.Y.DataField = "应交货" \'Y轴绑定到数量列 Chart.SeriesList2.Clear() \'清除图表原来的图系 Series = Chart.SeriesList2.Add() \'给图表2增加一个图系 Series.Text = "准时交" Series.X.DataField = "供应商简称" \'X轴绑定到产品列 Series.Y.DataField = "准时交" \'Y轴绑定到数量列 Chart.LegendVisible = True \'显示图列 Chart.LegendCompass = CompassEnum.South \'图列显示在南方(底端) Chart.AxisY.Text = "应交货" Chart.AxisY2.Text = "准时交" Chart.SaveImage(ProjectPath & "Images\\供应商准时交货率.wmf") 上面是我的代码,从我们的供应商数据生成的双图表却是错误的。请问是哪里的问题呢?谢谢。 |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/26 10:18:00 -- 应交货、准时交这2个列改为整数列 |
||||
-- 作者:edisontsui -- 发布时间:2023/12/27 9:21:00 -- Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart.ChartType = ChartTypeEnum.Bar \'图表1类型该为Bar(条形) Chart.ChartType2 = ChartTypeEnum.XYPlot \'图表2类型该为线形 Chart.DataSource = "提取绘图数据2" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'给图表1增加一个图系 Series.Text = "应交货" Series.X.DataField = "供应商简称" \'X轴绑定到产品列 Series.Y.DataField = "应交货" \'Y轴绑定到数量列 Series = Chart.SeriesList.Add() \'给图表1增加一个图系 Series.Text = "准时交" Series.X.DataField = "供应商简称" \'X轴绑定到产品列 Series.Y.DataField = "准时交" \'Y轴绑定到数量列 Chart.SeriesList2.Clear() \'清除图表原来的图系 Series = Chart.SeriesList2.Add() \'给图表2增加一个图系 Series.Text = "准时率" Series.X.DataField = "供应商简称" \'X轴绑定到产品列 Series.Y.DataField = "准时率" \'Y轴绑定到数量列 Chart.LegendVisible = True \'显示图列 Chart.LegendCompass = CompassEnum.South \'图列显示在南方(底端) Chart.AxisY.Text = "应交货" Chart.AxisY.Text = "准时交" Chart.AxisY2.Text = "准时率" 我用上面的代码绘出了下面的图表:
我希望右坐标的刻度能转化成百分比的形式,比如1就是100%,0.6就是60%。请问代码里面要怎样处理?谢谢。 |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/27 9:37:00 -- 试试 Chart.AxisY2.AnnoFormatString = "0.00%"
|
||||
-- 作者:edisontsui -- 发布时间:2023/12/27 13:07:00 -- 谢谢,解决好了。还有下面一个问题: Chart.SaveImage(ProjectPath & "Images\\供应商准时交货率.wmf") 在用上面代码将图片保存好后,再利用下面的代码和excel模板生成一个excel文件(见附页文件)
Dim Book As New XLS.Book(ProjectPath & "Attachments\\供应商准时交货率.xls") Dim fl As String = ProjectPath & "Reports\\供应商准时交货率.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 执行完上述文件也会形成一个叫做 "供应商准时交货率.xls" 的文件,文件里面应该保含 “供应商准时交货率.wmf” 这个图。但是这个excel无法代开,其提示是:无法在受保护的视图中打开该文件。 请问是什么原因呢?谢谢。 |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/27 13:48:00 -- 有其它应用打开了这个execl文件,先关闭所有已经打开的execl |
||||
-- 作者:edisontsui -- 发布时间:2023/12/27 14:15:00 -- 我把所有excel都关闭了,然后执行代码,还是会出现同样的问题,见附页: |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/27 14:37:00 -- https://www.baidu.com/s?wd=%E6%97%A0%E6%B3%95%E5%9C%A8%E5%8F%97%E4%BF%9D%E6%8A%A4%E7%9A%84%E8%A7%86%E5%9B%BE%E4%B8%AD%E6%89%93%E5%BC%80%E8%AF%A5%E6%96%87%E4%BB%B6 |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/27 14:37:00 -- 项目文件是不是放到共享目录里使用的? |
||||
-- 作者:edisontsui -- 发布时间:2023/12/27 16:28:00 -- 1、8楼的方法,我试过了,也是一样的问题(我先打开一个空白的excel,根据8楼的方法重新设置选项,然后再去打开插入了的图片的 "供应商准时交货率.xls" ,存在一样的问题) 2、现在只是开发阶段,我还没有发布和复制到共享目录去的。只是在我的本机操作。
|