以文本方式查看主题

-  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=186237)

--  作者:jwt
--  发布时间:2023/4/15 9:45:00
--  关于EXCEL报表的图片问题

图片点击可在新窗口打开查看此主题相关图片如下:报表.jpg
图片点击可在新窗口打开查看
我有个“员工信息”报表,就是教程里的员工资料卡,我程序里的照片列名是“照片管理”,是存储在阿里云服务器上。在引用图片上,最初使用了[&照片管理],无效,后来查资料发现是动态引用得提前下载到电脑上,然后就写了按键代码:
Network.DownloadFile("*******" & CurrentTable.current.DataRow("照片管理") & "", "d:\\01.jpg" , "*****", "******", True, 100000, True)
Dim Book As New XLS.Book(ProjectPath & "Attachments\\员工信息表.xls")
Dim fl As String = ProjectPath & "Reports\\员工信息表01.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()
这种情况确实能够解决问题,但是吧,有的电脑就不知道怎么回事,在点击功能按钮时,就卡在了图片下载界面,死活下不下来,我知道是防火墙问题,添加信任或关掉防火墙,有的电脑能解决,有的电脑还是卡在照片下载界面(尤其是win11)。请教大神,在报表的图片引用上有没有什么更好的方式?
我了解到的,所有存储在服务器上的图片,在使用时,都会下载到本地,我电脑的路径是D:\\Yanjian Group\\HRMS\\Project\\RemoteFiles,+,“照片管理”的路径,我在想能不能直接引用这个图片。如果要引用这个图片该怎么去搞代码合适?
下载卡住界面如下:

图片点击可在新窗口打开查看此主题相关图片如下:下载卡住.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2023/4/15 9:55:36编辑过]

--  作者:有点蓝
--  发布时间:2023/4/15 9:59:00
--  
"照片管理"如果使用的ftp进行管理的,默认就会自动使用本地的文件的,没有的话也会自动下载。

[&照片管理]这个用法是没有问题的,除非是文件比较大,网络比较慢,或者其它原因导致图片无法下载。

这种不是代码可以解决的问题,找到具体导致无无法下载的原因解决,比如文件大,就改为小分辨率的图片,压缩一下改为一百几十K大小,网络慢就提高服务器带宽,......

--  作者:jwt
--  发布时间:2023/4/15 10:03:00
--  
图片不大,一般100KB左右,就是个证件照。照片管理是适用的FTP管理
[&照片管理]这个用法我再测试测试,之前测试的都是打开报表后,图片这块显示为空白,因为这个涉及我的服务器地址、帐号密码,不太方便上传示例。如果解决不了我再请教,谢谢大佬

--  作者:jwt
--  发布时间:2023/4/15 10:32:00
--  求教
还是不行,我再报表设计那,改成[&照片管理]后,预览,无照片显示。
保存报表设计,然后去改按键代码(附后),测试,也是不显示照片,其它信息都正常显示
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\历史库员工信息表.xls")
    Dim r As Row = CurrentTable.current
    r("学习简历") = r("学习简历").Replace(chr(10), "").replace(chr(13), vbcrlf)
    r("家庭情况") = r("家庭情况").Replace(chr(10), "").replace(chr(13), vbcrlf)
    r("工作简历") = r("工作简历").Replace(chr(10), "").replace(chr(13), vbcrlf)
    r("职业规划") = r("职业规划").Replace(chr(10), "").replace(chr(13), vbcrlf)
    CurrentTable.save()
    Dim fl As String = ProjectPath & "Reports\\历史库员工信息表01.xls"
    Book.Build() \'生成细节区
    Book.Save(fl) \'保存工作簿
    Dim Proc As New Process \'打开工作簿
    Proc.File = fl
    Proc.Start()

图片点击可在新窗口打开查看此主题相关图片如下:预览图片.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:代码设计.png
图片点击可在新窗口打开查看


我好像知道原因了,我因为设计了个面板,绑定了面板上的图片控件,我面板的图片是正常显示的,但我好象没有设置列属性,我去搞搞试试。
确实是上面这个原因,以解决,感谢楼上大佬!

[此贴子已经被作者于2023/4/15 11:47:53编辑过]

--  作者:有点蓝
--  发布时间:2023/4/15 10:47:00
--  
要设置列属性的扩展列
[此贴子已经被作者于2023/4/15 10:47:34编辑过]