Foxtable(狐表)用户栏目专家坐堂 → excel报表保存图片的问题


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

主题:excel报表保存图片的问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 16:35:00 [显示全部帖子]


以下内容是专门发给rjh4078浏览


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 17:31:00 [显示全部帖子]

如果确定是dpi的问题,那你生成图片,使用原来那种方式生成(没有空白的那种)

 

然后修改一下dpi,看打印效果是否正确。

 

使用代码修改图片dpi参考

 

Dim bmp As new bitmap("d:\test.jpg")
bmp.SetResolution(300, 300)
bmp.save("d:\123.jpg")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 17:47:00 [显示全部帖子]

1、生成图片以后,你用软件调整期dpi,能否正常打印?

 

2、用58楼的图片,调整其dpi后,能否正常打印?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 19:10: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.CopyPicture(2,-4147)
Dim c = Ws.ChartObjects.Add(0,0,rg.width, rg.height)
c.chart.paste
c.chart.Shapes(1).width = rg.width
c.chart.Shapes(1).height = rg.height
c.chart.Export("D:\123.png")
app.visible = True
'c.Delete
'app.quit


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 20:02: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.CopyPicture(2,-4147)
Dim c = Ws.ChartObjects.Add(0,0,rg.width*3, rg.height*3)
c.chart.paste
c.chart.Shapes(1).width = rg.width*3
c.chart.Shapes(1).height = rg.height*3

c.chart.Export("D:\123.png")
app.visible = True
'c.Delete
'app.quit


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 21:37:00 [显示全部帖子]

以下是引用rjh4078在2017/11/2 20:46:00的发言:
最后再请教一个问题 如何将图片大小自适应报表大小?
[此贴子已经被作者于2017/11/2 20:46:15编辑过]

 

Dim lj As String="d:\123.png"
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
rg1.x = 5
rg1.y = 15
Dim image = getimage(lj)

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

Dim w As Integer = doc.PageSetting.Width.value / 25.4 * basemainform.CreateGraphics.DpiX
Dim h As Integer = doc.PageSetting.height.value / 25.4 * basemainform.CreateGraphics.DpiY

g.DrawImage(image,0,0, w, h) ''这个地方如何将图片与页面大小调成一致,我是手动写的
doc.Body.Children.Add(rg1) '将图片对象加入报表
Doc.Preview() '预览


 回到顶部
总数 27 上一页 1 2 3