ExcelDNA C# xll - 使用公式时,如果不小心按下 Ctrl+Z,它们会突然消失吗?

ExcelDNA C# xll - When using the formula they suddenly disappear if Ctrl+Z is accidentally pressed?

ExcelDNA C# xll - 使用公式时,如果不小心按下 Ctrl+Z,它们会突然消失?!

有人遇到过这种情况吗?我的代码(xll 插件调用另一个自定义 dll)的行为符合预期,我们(我的经理和我)现在正在测试它,她看到了这种行为。我也可以复制它。

它是否特定于 ExcelDNA 中的某些东西,或者有人在 Excel 中看到过这个吗?

我们知道,作为 90 年代以来经验丰富的开发人员,关于标准的 Ctrl+Z 行为,但是 Ctrl+Z 行为应该只是撤消在标准的其他区域执行的编辑 sheet 但是它会消失自定义函数(真正调用 C# xll)。

此外,自定义 returns 二维数组/数组公式。跟数组公式有关吗?

啊,我的错! :)

感谢您的快速评论。所以这就是原因!如您所见,一旦正确传入大量内容,我就会触发查询。我清理了二维数组(dimensionFilters 和 measureFilters),删除了 ExcelEmpty,但我忘记清理维度和度量数组。我们从维度数组之一中删除了一个值,这使得查询抛出错误,导致返回到 Excel 的字符串代替二维数组。随后的 Ctrl+Z 会删除该字符串,这意味着公式似乎消失了。

如果您按 Ctrl+Y,我的错误 string/String 会重新出现,如果您重新添加缺少的值,查询将运行,二维数组公式会重新出现。

这是一项复杂的工作,所以我会考虑如何处理这种情况。