首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel中的DDE信息

Excel中的DDE信息
EN

Stack Overflow用户
提问于 2017-11-07 08:22:23
回答 1查看 907关注 0票数 0

我编写了一个使用Apache读取excel文件的程序,该程序正在按预期工作。下一部分是实现-“拒绝读取excel文件,如果它包含DDE链接/信息。

我通过下面的链接了解到关于DDE的信息

报酬率

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-07 10:35:30

对于XSSF,可以使用XSSFWorkbook.getExternalLinksTableXSSFWorkbook中获取ExternalLinksTables的信息。

然后遍历该List,使用ExternalLinksTable.getCTExternalLink为每个ExternalLinksTable获取CTExternalLink,然后检查CTExternalLink.isSetDdeLink是否为true。如果是这样的话,我们在那里有一个DDE链接。

外部链接(如='C:\Users\Paul\Documents\[2014 Budget.xlsx]Details'!$R$7='http://teamsite.company.com/corporate/[MySpreadsheet.xlsx]‌​Sheet1'!F4 )与DDE无关。在使用这些链接时没有危险,因此没有理由“拒绝读取excel文件,如果它包含”这样的链接。在Excel中,DDE链接看起来像=ddeapp|'parameters'!reference。因此,我们需要与其他链接不同的DDE链接,只有“拒绝读取excel文件,如果它包含”真正的 DDE链接。使用CTExternalLink.isSetDdeLink,我们能够做到这一点。

我怀疑“如果包含DDE链接拒绝读取Excel文件”的要求是为了避免像excel中的=ddeapp|'parameters'!reference这样的单元格公式。使用这样的公式,如果用户不用心并且是管理员,就可能做非常糟糕和危险的事情。例子:=cmd|'/C control'!anyname.这将在Windows中打开系统控制应用程序,如果用户是管理员,那么它将允许更多的.

由于DDE是IT新石器时代的古老技术,因此目前还没有以有效的方式使用DDE的好例子。您需要一个ddeapp,它是一个允许通过DDE联系并返回值的应用程序。这个youtube视频: DTN IQFeed的DDE链接设置展示了一个例子。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47153078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档