以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] Excel报表打印安全问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25154) |
|
-- 作者:eric803 -- 发布时间:2012/11/1 18:48:00 -- [求助] Excel报表打印安全问题 今天一直在测试下EXCEL报表功能,发现在按模板XLS生成目标打印xls文件时,必须生成实体文件到硬盘,这样就存在用户可以复制,修改打印用的目标XLS文件, Dim Book As New XLS.Book(ProjectPath & "Attachments\\出库单.xls") Dim fl As String = ProjectPath & "Reports\\出库单.xls" Book.Build() ‘已生成了xls Book.Save(fl) Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) App.Visible = True \'设置 不显示警告信息对话框, 这样设置了“打印设置或页边距”后不会提示保存了EXCEL App.DisplayAlerts = False Ws.PrintPreview App.Quit ‘删除EXCEL,但还是有漏洞,用户可以使用只读的方式打开EXCEL再另存后操作 If FileSys.FileExists(fl) Then \'如果指定的文件存在 FileSys.DeleteFile(fl,2,2) End If 能否有方法实现 直接在内存在生成EXCEL,硬盘中根本不生成文件,用户看不到EXCEL也就保证了打印的安全性。 |
|
-- 作者:lihe60 -- 发布时间:2012/11/1 19:33:00 -- 我提供个思路: 1、生成excel文件 2、打印该文件 3、关闭该文件 4、彻底删除该文件 上面4步全步用代码实现。 |
|
-- 作者:lin_hailun -- 发布时间:2012/11/1 20:00:00 -- 楼主是怎样测试的? 不能把文件存储在其他位置么?…… 未遇到过,一起探讨。 |
|
-- 作者:eric803 -- 发布时间:2012/11/1 20:33:00 --
[此贴子已经被作者于2012-11-1 20:34:24编辑过]
|
|
-- 作者:szp2012 -- 发布时间:2012/11/1 22:01:00 -- 狐表引进 E+grid 报表插件就好了,类似易表报表功能 |