以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- excel报表问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134720) |
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 9:58:00 -- excel报表问题 如何将excel报表设计成所见及所得的预览方式 即 点击不同数据行 报表即刻预览? |
||||
-- 作者:有点甜 -- 发布时间:2019/5/5 10:11:00 --
你可以自己生成和打开显示,也就是本来是按钮生成的,你把代码写到表格点击事件去而已。
|
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 10:43:00 -- 是的 意思我理解 只是现在要实现在窗口中预览 非常麻烦 用web的话客户端会有各种错误 显示不了 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/5 10:45:00 -- webbrowser显示即可。
在生成报表之前,先把webbrowser的address设置成nothing,同时把excel进程kill一下,再去生成新的报表。不然可能冲突。
又或者换一种思路:每次生成不同名称的excel文件,然后显示,即可。在关闭项目的时候,再删除那些excel文件。 |
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 11:59:00 -- kill进程这个不太好办 因为有可能打开了其他excel报表 我现在遇到的问题是开发端能正常显示,但是客户端web显示一个红叉 ,有的又正常 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/5 12:03:00 -- 以下是引用rjh4078在2019/5/5 11:59:00的发言:
kill进程这个不太好办 因为有可能打开了其他excel报表 我现在遇到的问题是开发端能正常显示,但是客户端web显示一个红叉 ,有的又正常
判断你进程的标题,为空的,可以kill
Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("excel") If p.MainWindowTitle = Nothing Then p.kill |
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 14:17:00 -- 有的电脑 浏览的时候显示要打开文件 添加注册表无解 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/5 14:29:00 -- 以下是引用rjh4078在2019/5/5 14:17:00的发言:
有的电脑 浏览的时候显示要打开文件 添加注册表无解
试试执行这个 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=103646&skin=0
如果还是不行,建议嵌入excel程序,如
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73007&skin=0 |
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 15:15:00 -- 发现一个问题 下面的代码 可以生成excel报表的父表数据 但是子表明细表数据没有 我的子表不是采用嵌套模式调用 采用的是类似与下面这个坐标调用 [@生产单.生产明细,材料规格,3] [@生产单.生产明细,交货日期,3]
Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("excel") For Each p As System.Diagnostics.Process In ps If p.MainWindowTitle = Nothing Then p.kill Next DataTables("生产单").LoadFilter="计划日期=\'" & date.today & "\' and 单号=‘1001’" DataTables("生产单").Load e.form.Controls("Web").address=Nothing e.form.Controls("Web").address= Functions.Execute("预览","生产单","生产单") ‘’这个函数是生成一个excel报表返回地址 |
||||
-- 作者:rjh4078 -- 发布时间:2019/5/5 15:16:00 -- 单独用函数 Functions.Execute("预览","生产单","生产单") 在report文件夹下的文件是正常的 |