问题标签 [xll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
817 浏览

python - R/XLL:在 R 中调用 XLL 方法的接口

我正在尝试从 R 调用 XLL 插件(用于 Excel)中定义的方法。

类似于此 Python 代码的内容:

R 中有没有 XLL 接口的库?谢谢你的帮助。

0 投票
2 回答
675 浏览

c# - 访问方法并将参数传递给 Excel .Xll 从 C# 插件

我需要从 ANALYS32.XLL Excel 加载项中调用方法,以便将分析工具包导入 mu C# 应用程序。请问如何调用方法并将参数传递给它?有没有办法在 c# 中调用方差分析?

0 投票
0 回答
339 浏览

c++ - Excel RTD 格式化 C++ 或 C#?

我有一个普通的 C++ 对象,它会生成高频更新,我想将其快速传递到 excel (08-10++) 单元格/工作簿。我已经查看了 XLL、RTD 和 Excel C API,并且认为将 RTD 包装在 XLL 中可能是可行的方法,因为我目前没有使用 C# 编程。我过去做过一些 COM/VBA 的东西,所以我熟悉对象模型——只是不是在 C++ 中。

如果这是最理想的方式,我并不反对学习 C#,尽管如果可能的话,我现在更愿意将它保留在 C/C++ 中,因为这是我的优势所在。我环顾四周,但在 C API 中格式化表的示例方面并没有看到太多。

是否有人知道我可以查看的任何体面的文档或示例:

  1. 安全单元格更新(即,如果用户在 XLL 尝试更新同一张表格等时引发“On_Mousedown”事件,Excel 不会崩溃)
  2. 现代格式(使事情看起来不错的有效方法:))

欢迎任何建议!

谢谢

0 投票
1 回答
139 浏览

excel - 是否可以确定调用我的 XLL 的 xl 函数名称?

我有一个带有 ac 函数的 xll 在 XL 中注册了几次。

例如,我将 xllMyFunc 注册为 Fred 和 Joe,以便我可以将 =Fred() 或 =Joe() 放入电子表格中。

有没有办法确定 xllMyFunc() 是由 Fred 还是由 Joe 调用的?

0 投票
2 回答
1522 浏览

c++ - 以编程方式在excel中制作图表

我在 Excel 的 C API 的 XLW 包装器的帮助下制作了一个 XLL。我希望能够使用存储在 XLL 中某些对象中的数据以编程方式在 Excel 中制作图表。这可能吗?如果可以,最好的方法是什么?我相信一种方法是通过 COM,但如果可能的话,我想避免它。目前在 Windows 7 和 VS2010 上使用 Excel 2007。

编辑:一般来说,Excel 公开了哪些支持程序化图表的 API?谁能指点我一些文件?

Edit2:由于我没有得到任何点击,我将尝试提供更多关于我正在尝试做的事情的细节。我想从 Excel 中调用一个公式,例如 =PlotCurve("CurvreHandle") 并且我想获取一个存储在内存中并由 XLL(非托管代码)拥有的曲线对象,从中获取一些数据并将其显示在某处的图表中在制作 PlotCurve 的工作表上。到目前为止,我已经能够看到,XLW 包装的 C API 不支持问题的第二部分,所以我需要去任何一个 COM(我不知道如何与已经运行的 C 混合) api)或一些我也不知道该怎么做的.net互操作。如果有人做过这样的事情或知道安全稳定的方法来做到这一点,我很想听听。

0 投票
3 回答
748 浏览

c++ - 在未安装视觉的计算机上设置 xll

我用visual studio 2010和excel 2010开发了一个xll。它在安装了visual的计算机上的excel上运行良好。但是现在,我试图在没有安装视觉的计算机上使用我的 xll,所以我想创建一个设置。

事实上,我试图在没有安装任何东西的 Windows 上执行我的 xll(仅限 excel 2010):它不起作用。所以我在 X64 和 X86 中安装了“visual 2010 C++ 可再发行包”。在我再次尝试在 excel 中执行我的 xll 之后,它不再工作了。

编辑:我在我的两个 xll 上使用了“depends.exe”。在不工作的 xll 上,C:\windows\system32\SHLWAPI.DLL 在左边有一张红色图片,但工作的 xll 没有这个 dll 错误:

依赖.exe的错误

所以我的问题是除了 C++ 包之外 xll 需要什么才能在没有视觉的计算机上执行?

或者你有一个简单的方法来为 xll 创建一个设置(我已经创建了一个带有视觉的设置但它不工作所以也许还有其他方法......)。

0 投票
1 回答
570 浏览

multithreading - 对于 Excel 2003,XLL 中的 UDF 可以使用多个线程吗?

仅供参考 1:UDF = 用户定义(工作表)函数 仅供参考 2:XLL = Excel 插件(DLL -> XLL)

我正在使用 Microsoft 的 Excel4() API 在 C/C++ 中为 Excel 编写 XLL 加载项。
链接:http: //msdn.microsoft.com/en-us/library/bb687835.aspx

我有一个“复杂”的任务,我想使用多个线程来获得更好的性能。虽然我知道 Excel 2003 中的计算是单线程的,但我想知道我的 UDF 是否可以 (a) 产生线程来完成工作,(b) 等待线程完成,以及 (c) 返回结果。

非常清楚,我不会做任何 Excel 自动化,也不会在线程中调用 Excel4()。

伪代码:

从表面上看,这看起来不错,但我不是 DLL/XLL 和线程方面的专家。

PS我已经在谷歌(高和低)搜索了这个答案,但找不到任何关于此事的信息。

0 投票
1 回答
1201 浏览

c++ - 强制链接静态库中的 cpp 文件(Visual Studio)

我有一堆包含静态变量的 cpp 文件(应该没有头文件)。我的 Visual Studio 2008 编译器似乎忽略了这些静态变量 - 我该如何解决?

更多细节:

  • 我有一个具有静态字段 allInstances 的抽象类;当构造我的类的“具体”实例时(它发生在实例化 cpp 文件中的静态变量时),指向它的指针被 push_back'ed 到 allInstances 中。
  • Cpp 文件包含从我的抽象类派生的类;它们的实现需要保留在 cpp 文件中,因为它们只能通过 allInstances 调用
  • 我的抽象类 cpp 文件位于在静态库中编译的文件夹(项目)中
  • 此静态库由编译 xll 的项目使用

当 cpp 文件位于 xll 项目中时,一切都很好。但是当我将 cpp 文件移动到一个单独的文件夹中时(需要这样做,因为 excel 现在不是唯一的界面)我的静态变量不再被实例化。

我有很多这些 cpp 文件,并将它们全部包含在每个 xll、exe、pyd、dll 等项目中。

有任何想法吗?提前谢谢了。

0 投票
2 回答
880 浏览

excel - 如何在 Visual Studio 2008 中为 Excel XLL 编译 C 代码,使其在 Office 2010 64 位版本上运行

我有一个使用 Excel 2007 SDK 开发的 Excel 加载项,它在 Excel 2007 和 Excel 2010 32 位版本上运行良好

最近,我注意到 Office 2010 或 Excel 2010 也作为 64 位软件提供,而 Excel 2007 中的 32 位版本和 Excel 2010 中的对应版本

我知道它需要 Excel 2010 SDK 和 Visual Studio 2008 才能将 XLL 编译为 64 位版本,因此它将在 Win7 上的 Excel 2010 64 位中运行

是否需要在 Visual Studio 2008 中设置任何特定选项,以便我可以将代码编译为 64 位版本

我查看了 Excel 2010 SDK 中的示例代码,它使用相同的 XLOPER12 数据类型,示例代码看起来很像 Excel 2007 SDK 中的示例代码

这导致我询问以前版本的代码在 64 位 Excel 环境中运行之前是否需要进行任何更改

提前谢谢了

0 投票
2 回答
283 浏览

c++ - 通过c ++ xll的sql连接

我正在尝试用 c++ 编写一个 xll 来与 sql server 交互。程序编译好。我在 c++ 代码中有以下简单的行

现在,当我尝试打开 excel 时,我在 excel 单元格中收到垃圾字符,第一行显示“此程序无法在 DOS 模式下运行”。如果我注释掉 con = driver->connect("NJROS1LD120", "mysql","mysql01"); 我可以在插件中看到函数 database.test()。

无法弄清楚出了什么问题。这将是非常好的人来帮助。

谢谢