Foxtable(狐表)用户栏目专家坐堂 → 关于图表问题


  共有2935人关注过本帖树形打印复制链接

主题:关于图表问题

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
关于图表问题  发帖心情 Post By:2020/5/26 16:12:00 [只看该作者]

Dim b As New XLS.Book
Dim t As Table = Tables("统计表")
Dim s As XLS.Sheet = b.Sheets(0)
Dim Chart As WinForm.Chart = Forms("统计表").Controls("Chart1")
For c As Integer = 0 To t.Cols.Count -1 
    s(0, c).Value = t.Cols(c).Name
Next
For r As Integer = 0 To t.Rows.Count - 1 
    For c As Integer = 0 To t.Cols.Count -1
        s(r +1, c).Value = t.rows(r)(c)
    Next
Next

s(t.rows.Count + 2,1).Value = New XLS.Picture(Chart.Image,0,0,422,258)
b.Save("C:\Users\HP\Desktop\新建文件夹 (2)\test.xls")
Dim Proc As New Process
Proc.File = "C:\Users\HP\Desktop\新建文件夹 (2)\test.xls"
Proc.Start()

上面有两个问题:

1,导出图表太小,如附件图,如何解决?
2,("C:\Users\HP\Desktop\新建文件夹 (2)\test.xls"),这个路径,如何改更灵活,或象导出一样,可以打开对话框,由用户自定义



图片点击可在新窗口打开查看此主题相关图片如下:图表问题.jpg
图片点击可在新窗口打开查看






 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/26 16:23:00 [只看该作者]

s(t.rows.Count + 2,1).Value = New XLS.Picture(Chart.Image,0,0,1000,800)

New XLS.Picture(Image, Left, Top, Width, Height)

参数:

Image:  要插入的图片。
Left:   左边距,单位为像素。
Top:    上边距,单位为像素。
Width: 宽度,单位为像素。
Height: 高度,单位为像素。

可用GetImage函数从指定的图标


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/26 16:42:00 [只看该作者]

1.改了还是有问题:
图糊了,还有区域变大与图表不一致
2,("C:\Users\HP\Desktop\新建文件夹 (2)\test.xls"),这个路径,如何改更灵活,或象导出一样,可以打开对话框,由用户自定义

图片点击可在新窗口打开查看此主题相关图片如下:图表问题1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/26 16:51:00 [只看该作者]

图表不要使用虚拟模式,去掉下面代码

Chart.VisualEffect = True

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/26 17:05:00 [只看该作者]

老师,上面1楼代码没用到Chart.VisualEffect = True,还有("C:\Users\HP\Desktop\新建文件夹 (2)\test.xls"),这个路径,如何改更灵活,或象导出一样,可以打开对话框,由用户自定义。谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/26 17:22:00 [只看该作者]

改为使用对话框即可:http://www.foxtable.com/webhelp/topics/0329.htm

图表的问题做个例子来看看

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/5/26 20:29:00 [只看该作者]

s(t.rows.Count + 2,1).Value = New XLS.Picture(Chart.Image,0,0,1000,900)

'b.Save("C:\Users\HP\Desktop\新建文件夹 (2)\test.xls")
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器

Dim Proc As New Process

If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮

    'Proc.File = MessageBox.Show("你要保存为:" & dlg.FileName,"提示") '提示用户选择的文件
Tables("统计表").SaveExcel(dlg.FileName, "统计表")  '保存文件
Proc.Start()
End If


老师,这样改不行,请您纠正,谢谢 

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/26 20:32:00 [只看该作者]

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Dim b As New XLS.Book
Dim t As Table = Tables("统计表")
Dim s As XLS.Sheet = b.Sheets(0)
Dim Chart As WinForm.Chart = Forms("统计表").Controls("Chart1")
For c As Integer = 0 To t.Cols.Count -1 
    s(0, c).Value = t.Cols(c).Name
Next
For r As Integer = 0 To t.Rows.Count - 1 
    For c As Integer = 0 To t.Cols.Count -1
        s(r +1, c).Value = t.rows(r)(c)
    Next
Next

s(t.rows.Count + 2,1).Value = New XLS.Picture(Chart.Image,0,0,422,258)
b.Save(dlg.FileName)
Dim Proc As New Process
Proc.File = dlg.FileName
Proc.Start()
End If


 回到顶部