【发布时间】:2021-06-18 18:28:56
【问题描述】:
我正忙于调试我正在制作的不断增长的 C# Windows 服务。
确实如此:
- 后台读取 SQL Server 数据库并接收“作业”。
- 作业是 XML(1..n 个报告包含 1..n 个选项卡,其中包含 1..n 个数据透视表,其中包含 1..n 个位置/切片器、1..n 个度量、1..n 个维度)
- C# 然后遍历这些 XML 作业并创建 Excel 工作簿。
注意:枢轴实际上是对我的自定义 xll/dll 的调用,用于与我的远程 Java ActivePivot 多维数据集对话。
Excel 工作簿正在保存到网络共享中,并且公式作为数组函数很好地嵌入(.FormulaArray = 等)。
我已经尝试过 .RegisterXLL 等,但我认为这并没有真正将它添加到我想要的位置。
我是否需要像这样以编程方式添加 VBA OnOpen 样式代码: Is there a way to add vba macro code to excel?
或者是否有更好的现代 C# 方法来确保引用/链接到 XLL/DLL(它的路径等)?
谢谢
【问题讨论】:
-
谁在打开生成的 Excel 文件?您或不同 PC 上的用户团队?一种(相当老派的)方法是使用包含 VBA 包装器到 C 样式 dll(声明函数等)的基本 Excel 文件,并将该 dll 放在与文件相同的网络位置。然后将所有 Excel 文件创建为基础的修改副本。
-
嘿。主要是用户。是的,我听到你的声音,看看它会如何工作。
标签: c# excel interop excel-addins xll