Foxtable(狐表)用户栏目专家坐堂 → [求助]EXCEL报表能否生成图片后再打印?


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

主题:[求助]EXCEL报表能否生成图片后再打印?

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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
[求助]EXCEL报表能否生成图片后再打印?  发帖心情 Post By:2017/11/13 21:26:00 [只看该作者]

为了避免用户修改生成好的Excel报表,能否将报表保存为图片文件,然后再显示在窗口中,再打印。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel报表.foxdb


[此贴子已经被作者于2017/11/13 21:45:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 23:36:00 [只看该作者]

excel保存为图片文件,参考

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
rg.copy
ClipBoard.GetImage.save("d:\abc.jpg")
app.quit


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 23:37:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
回复:(有点甜)打印,看这个帖子 http://www.foxtab...  发帖心情 Post By:2017/11/14 22:00:00 [只看该作者]

老师你好,你给的例子我还消化不了,能否在实例的窗口一中帮我设置好 员工资料卡 直接打印的代码,谢谢了。
[此贴子已经被作者于2017/11/14 22:10:28编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/14 22:41:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
rg.copy
app.DisplayAlerts=False

Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.Width = 215 '纸张宽度为215毫米
doc.PageSetting.Height = 280 '纸张高度为280毫米

Dim rg1 As New prt.RenderGraphics()
Dim g= rg1.Graphics
Dim image = ClipBoard.GetImage
'g.InterpolationMode = InterpolationMode.HighQualityBicubic
'g.SmoothingMode = SmoothingMode.HighQuality
'g.CompositingQuality = CompositingQuality.HighQuality
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor
'g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half

g.DrawImage(image,0,0,image.width, image.height)
doc.Body.Children.Add(rg1) '将图片对象加入报表
Doc.Preview() '预览

app.quit


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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
回复:(有点甜)Dim App As New MSExcel.Application...  发帖心情 Post By:2017/11/20 19:42:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171120194007.jpg
图片点击可在新窗口打开查看
我用您的代码没有形成报表后打印预览,而是把excel模板预览了?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/20 20:03:00 [只看该作者]

你要打开生成后的报表,而不是模板

Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\生成后的报表文件.xls")

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


加好友 发短信
等级:幼狐 帖子:92 积分:1856 威望:0 精华:0 注册:2014/4/11 21:10:00
回复:(有点蓝)你要打开生成后的报表,而不是模板Di...  发帖心情 Post By:2017/11/20 20:57:00 [只看该作者]

还是不懂怎么修改

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/20 21:09:00 [只看该作者]

正常生成报表:http://www.foxtable.com/webhelp/scr/1145.htm

Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls")
Dim 
fl As String = ProjectPath & "Reports\出库单.xls"
Book.Build() 
'生成细节区
Book.Save(fl) 
'保存工作簿

Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl
……

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


加好友 发短信
等级:幼狐 帖子:199 积分:2555 威望:0 精华:0 注册:2012/8/12 23:46:00
  发帖心情 Post By:2018/9/11 10:39:00 [只看该作者]

 为什么我用这个代码生成的图片,宽变成一万多像素了

 回到顶部
总数 11 1 2 下一页