问题标签 [excel-dna]

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 投票
2 回答
3051 浏览

c# - 如何从 ExcelDna 将自定义对象或 double[,] 返回到 Excel 中的单元格?

理想情况下,我的 UDF 会以 double[,]、double[] 或自定义对象的形式返回一些双精度结果。我希望它全部存储在 Excel 中的单个单元格中,然后使用另一个 UDF 来提取它们。它类似于缓存计算结果并在以后按需显示。

可能吗?

0 投票
1 回答
668 浏览

excel - 当 xlCoerce 返回一个值时,它会再次计算单元格中的公式吗?

使用 ExcelDna 在 C# 中制作简单的 UDF 时遇到问题

该函数使用这个:

除非我指定,否则它将导致循环引用错误(GetValue尝试通过再次调用 UDF 重新评估单元格)IsMacroType=true,这会将函数标记为类 2(添加#到公式中)。

我不知道它将如何连接到循环错误。但我想ExcelReference.GetValue()有时会评估细胞,有时不会?

看来2级只影响xlfCaller

后来查了源码ExcelReference,原来是调用了xlCoerce。

另外,我注意到当我在单元格上按 F2 时,GetValue()无论单元格是什么,都返回 0。而当我按下 Ctrl+Alt+F9 强制重新计算所有,GetValue()返回之前的计算值。

有人可以进一步详细说明我吗?无论如何,xlCoerce 如何处理单元格值/公式以及第 2 类将如何影响它?

0 投票
2 回答
979 浏览

excel - ExcelDna CustomTaskPane 示例异常

我尝试使用 ExcelDNA 包中的 CustomTaksPane 示例并收到以下错误:

“调用函数“OnShowTCP”时发生异常。异常消息是异常已被调用目标抛出”

我在 Windows 7 下使用 Excel 2010。

有任何想法吗?

0 投票
1 回答
390 浏览

vb.net - ExcelDNA 中的 URL 帮助主题

我有以下用 VB .Net 编写的方法:

如您所见,HelpTopic 设置为 URL,当我运行该程序并单击“此功能的帮助”时,它说帮助参考无效。

是否可以在互联网上有一个帮助主题,excel 中的函数可以访问它。

任何帮助是极大的赞赏。

0 投票
0 回答
69 浏览

.net - .NET Reflection 可以在运行的系统上“反射”吗?

背景:Windows 7、Office 2007、ExcelDNA 0.30

鉴于 ExcelDNA 不支持 ParamArray,我有一个古怪的想法:Reflection 可以提供帮助吗?

在对 .NET 和 Reflection 进行了一番摆弄之后,我可以看到它非常擅长获取关于程序集的静态信息,甚至可以深入到方法的名称和数据类型。但是(我不知道去哪里找到它)它可以告诉我有关系统运行时的信息吗?

例如,我是否可以知道有多少参数实际提供给具有 30 个参数(命名为 p1 到 p30)的方法,或者我是否必须对每个参数进行长时间的选择案例检查(就像我现在没有反射一样)?我可以迭代地访问参数,从 1 到“占用”参数的数量吗?

还有一个相关的问题:我可以将两个参数传递给一个用三个参数定义的方法,但我不能将三个参数传递给一个用两个参数定义的方法。有没有一种方法可以定义一种方法来接收任意数量的参数,但使用 ParamArray(请记住,我们在这里使用 ExcelDNA,它不支持 ParamArray)?

0 投票
0 回答
87 浏览

excel-2007 - PerlNET 和 ExcelDNA

内容:Office 2007、ExcelDNA 0.30、ActiveState Perl SDK 3.0、PerlNET

我正在尝试使用 PerlNET 编写 ExcelDNA 加载项。这个想法是写一些可以处理可变数量参数的东西,比如=SUM()。

Perl 代码:

DNA密码

.XLL 文件加载正常,但 PNSUM() 不可见。我究竟做错了什么?

0 投票
1 回答
404 浏览

excel-2007 - IL、varags 和 ExcelDNA

背景:Windows 7、ExcelDNA 0.30、.NET 4.0

我仍在尝试通过 ExcelDNA 在 Excel 中使用 params/ParamArray 方法。通过使用可变参数,我避免与 System.ParamArrayAttribute 有任何关系,并使用 System.ArgIterator 寻求路径。

可悲的事实是以下编译但仍然不起作用。我不断收到价值错误。出了点问题,但我对这个汇编器的了解还不够多,无法弄清楚。任何想法,任何人?

0 投票
1 回答
1426 浏览

c# - Excel-DNA:一维数组限制为 65536 行

当试图在 VBA 中调用以下 Excel-DNA 方法时,我只得到一个大小为 1 的数组(在 65536 行之后,数组似乎被调整为实际数组大小 - 65537)。当将工作表中的方法作为数组函数调用时,整个过程都有效。

我正在使用 Excel 2007,工作表是 xlsm-Worksheet,当使用这样的二维数组时,一切正常。

但是以另一种方式使用二维数组,以防万一

有人知道如何解决这个问题吗?

在 VBA 中做同样的事情效果很好

输出的维度为 65537(索引从 0 开始),大于 65537 的数字也可以工作。

0 投票
1 回答
6514 浏览

c# - 如何使用 ExcelDNA 从某个范围内获取 Excel 公式?

我想将一个范围(此时为 1d)传递给我的函数,并返回一个包含范围公式的字符串数组。

到目前为止,这是我的(不工作的)代码:

0 投票
1 回答
259 浏览

c# - C# 中的自定义 Excel 函数始终处于禁用状态

我正在尝试在 C# 中创建一个自定义 Excel 函数(我希望将报告数据从 Web API 提取到 Excel 中)。但是,当我进入 Excel 时,我可以添加新的自动化插件,但它列在“非活动应用程序插件”下,这里出了什么问题?

我根据这篇博文创建了一个 COM 自动化插件。我的源代码在 Github 上

我正在使用 Visual Studio 2010 和 Excel 2010 64 位(版本 14.0)的 Window 7 64 位机器上工作。我的项目设置为 x64 构建配置,使用 .NET Framework 4。

我正在使用一个界面:

和班级:

我已经设置了一个构建后事件来使用 64 位版本的 regasm 注册组件,如下所示: "%Windir%\Microsoft.NET\Framework64\v4.0.30319\regasm" "$(TargetPath)"