我正在开发一个与COM对象通信的Excel插件(XLL)。所以,我必须在XLOPER和VARIANT之间进行编组。我已经完成了大部分工作,但阵列绝对是一种痛苦。我需要支持1和2D阵列。
我想有人已经不得不在此之前解决这个问题了。简化处理VARIANT,SAFEARRAY和XLOPER(以及XLOPER12)的最佳方法是什么?
答案 0 :(得分:3)
我必须为此手动滚动我自己的编组代码。没有免费提供的库来处理这个问题。 XLW用于包装整个插件 - 这对我来说不是一个选择。
最后,它花了很多时间,浏览xloper和variant的文档,并弄清楚如何将它们相互映射。
对于好奇:
xloper(12)中的数组:
变体中的数组:
此编组的其他提示:
boost::numeric_cast
有助于此。答案 1 :(得分:0)
我使用XLL Plus(费用) http://www.as-ltd.co.uk/xllplus/default.htm
还有XLW(开源) http://xlw.sourceforge.net/
可能还有其他人我不知道