以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  报表文件位置设置不灵活,在网络共享项目时报表会打不开!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=6401)

--  作者:yankunhao
--  发布时间:2010/3/30 15:50:00
--  报表文件位置设置不灵活,在网络共享项目时报表会打不开!
“报表文件位置

生成的Excel报表位于项目文件目录的“Reports”子目录下,文件名就是你所设置的目标文件名。
由于模板文件和目标文件处于不同的目录,所以两者可以有相同的文件名。”

  由于生成的Excel报表只能位于项目目录,所以在电脑网络共享时要将整个项目文件设置所有人都有写入的权限,否则就查不到报表,打开报表时会提示报表文件已打开。

 请问有什么办法可以解决?
[此贴子已经被作者于2010-3-30 15:52:55编辑过]

--  作者:yangming
--  发布时间:2010/3/30 15:58:00
--  
报表的模板不要做共享,生成的表做共享,另外,模板文件和目录文件可以使用不同的文件名
--  作者:yankunhao
--  发布时间:2010/3/30 16:07:00
--  

问题是生成的报表会在整个目录下的,如果不共享及给予写入权限,这个报表就不能生成了。


--  作者:yankunhao
--  发布时间:2010/3/30 16:10:00
--  
除非所有表都用外部表,否则用内部表就不能很好的支持网络共享应用了。
--  作者:yankunhao
--  发布时间:2010/3/30 16:14:00
--  
又或者不能用EXCEL报表,只能用专业报表。因为专业报表不是由文件生成的。
--  作者:yankunhao
--  发布时间:2010/3/30 16:34:00
--  
二楼所说的方法不是很明白!能否详细一点说说呢?
--  作者:yankunhao
--  发布时间:2010/3/30 17:51:00
--  
我试了很多种做法,都不行的!怎么没人回应这个问题了?
[此贴子已经被作者于2010-3-30 17:52:07编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/3/30 18:12:00
--  
模版和生成的报表,都可以在任何位置,不过需要用代码,例如:

Dim Book As New XLS.Book("c:\\Attachments\\出库单.xls") \'打开模板
Book.Build() \'生成细节区
Book.Save(
"c:\\reports\\test.xls") \'保存工作簿
Dim
Proc As New Process \'打开工作簿
Proc.File =
"c:\\reports\\test.xls"

Proc.Start()

--  作者:yankunhao
--  发布时间:2010/3/30 20:03:00
--  
呵呵,谢谢老六,我明天回公司试一下这个方法,不过,如果不用代码直接在报表里能设定就最好啦,这样会方便很多,希望在以后的版本更新时能有这个功能啦!
--  作者:yangming
--  发布时间:2010/3/30 20:07:00
--  
以下是引用yankunhao在2010-3-30 20:03:00的发言:
呵呵,谢谢老六,我明天回公司试一下这个方法,不过,如果不用代码直接在报表里能设定就最好啦,这样会方便很多,希望在以后的版本更新时能有这个功能啦!

用代码也很 方便,你可以做一个窗口,加上文本框,然后在文本框中输入文件路径,也可以使用

SaveFileDialog   保存文件对话框来选择,还可以使用OpenFileDialog  打开文件对话框来打开模板