首页 > 解决方案 > 如何直接从变量显示图像?

问题描述

是否可以直接从变量显示图像?我做了一个程序,从 sql server 接收数据并在 excel 中生成表格。然而 sql 也可以有图像的二进制值等等......我想在 excel 单元格中显示。但是loadpicture,addpicture不支持这个......我想避免将它们保存到临时文件中或避免使用外部程序并直接从内存中显示,然后将图像保存在excel中。这可能吗?

标签: excelvba

解决方案


好的棘手:) 形状图像可以来自文件或网络。那么如何通过 vba 实现一个小型网络服务器来提供这些图像。适用于 Excel 的 VBA Webserver自制的 Web 服务器 vba (如果您运行 websocks)顺便说一句:实现 Web 服务器相当简单。在您的情况下,他只需提供图像 - 这是通过带有几行标题行的 base64 编码字符串完成的。另一种方法是将一些 VB.Net Webserver 修改为 COM DLL。也没有那么复杂的简单 VB.NET Webserver<<< 如果您使用的是 64 位,这可能是个好主意。无论如何,如果您启动了网络服务器,您现在可以将您的数据库数据显示到网络服务器中,并让他通过 URL 将它们传送到一个形状。老实说,一切都是纯粹的矫枉过正。我为此目的使用软件 ram 光盘。例如 Softperfect Ram 盘。因此没有写入真正的文件,因为它使用少量内存用于虚拟磁盘。它该死的快,因为使用了计算机内存,如果您愿意,重新启动后一切都消失了。当然,您可以通过 VBA 解析数据库数据并将像素一点一点地写入形状。有些人用vb6制作了一个完整的图像处理器,几乎是vba Photo Daemon因此,您可以看到分解和组合图像是多么容易。我只是希望有些东西对你有用。这不是一个真正的“答案”,但可能会给你一些想法。如果您让winsocks 运行,纯VBA Webserver 会很好。因为我们仍然在 32 位上,所以我玩弄了一点 - 很有趣 :)


推荐阅读