Foxtable(狐表)用户栏目专家坐堂 → 见过这样的汇总表吗?狐表能否做到?


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

主题:见过这样的汇总表吗?狐表能否做到?

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 10:38:00 [显示全部帖子]

其实,应该有个简单的方法实现,可能大家都疏忽了。

foxtable中有WeBrowser控件,借助于它兴许可以间接实现很多意想不到的功能。

首先,楼主先把想要的统计表做成excel报表,再在WeBrowser控件中地址栏中输入excel报表的地址(包括excel档名称及后缀名)(题外话:地址栏不好用,只能直接输或通过右键粘贴,希望贺老师能加个按钮,直接通过点击按钮选择文件路径)。借助于WeBrowser控件,可以将excel表在foxtable的窗体中显示出来。


附上程序自带的一个报表。功力不够,精力和时间也不允许,代码就免了,不过流程大致就这样了。(先吹一下牛,其实俺也不会)

希望能够实现。


图片点击可在新窗口打开查看此主题相关图片如下:无命名.png
图片点击可在新窗口打开查看

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
擎天柱
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 16:27:00 [显示全部帖子]

可以以假乱真吗?

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

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 16:31:00 [显示全部帖子]

直接用模板生成报表的命令代码怎么写?能否自由控制生成的报表打开或不打开,——最好加个打开或不打开的属性。

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 16:32:00 [显示全部帖子]

上面的报表是通过代码实现的。无报表模板。

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 19:13:00 [显示全部帖子]

以下是引用mr725在2009-11-26 18:28:00的发言:
哈哈,这样可以直接打开窗口及显示报表内容:

[此贴子已经被作者于2009-11-26 18:30:26编辑过]

窗体关闭后,后台excel还在运行,不知用代码怎么关闭,另外,如果,关闭再开的话,会提示“excel已打开”的对话框。所以,应该给excel报表XLS.Book加一个方法delete,这样可删除已经存在的报表,可再用save方法生成新的报表。
另外,模板报表应该能够自由选择打开/不打开,这样用模板报表可直接套进WebBrowser。


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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2009/11/26 19:17:00 [显示全部帖子]

以下是引用czy在2009-11-26 18:02:00的发言:
地址是不存在问题的,只是excel文件能直接显示在WebBrowser控件中吗?我这里怎么不行啊?

用程序附带的学习档,按帮助套的,关键后4句。WebBrowser1路径要填全:test.xls
如果能够Book.Delete("G:\release\CaseStudy\Reports\test.xls"),那该多好啊!
按钮代码自动生成报表并打开:(窗口3及WebBrowser1请自己建)
Dim dt As Table = Tables("订单")
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Style.BackColor = Color.Red '样式的背景颜色设为红色
For c As Integer = 0 To dt.Cols.Count -1 '添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    If dt.rows(r)("折扣") >= 0.15 Then '如果折扣大于等于0.15
        Sheet(r + 1,dt.Cols("折扣").Index).Style = Style '设置折扣单元格的样式
    End If
Next
'打开工作簿
Book.Save("G:\release\CaseStudy\Reports\test.xls")
with Forms("窗口3")
.Show()
.Controls("WebBrowser1").Address = "G:\release\CaseStudy\Reports\test.xls"
end with

[此贴子已经被作者于2009-11-26 19:21:51编辑过]

 回到顶部