【发布时间】:2023-03-25 16:09:01
【问题描述】:
我们希望通过 C# .NET 对 Excel 模板文件执行以下操作(按顺序)。
- 打开 Excel 模板
- 从 SQL 视图中读取数据并写入 Excel 模板中的工作表
- 为复制的数据设置命名范围
- 刷新基于命名范围的数据透视表
- 密码保护并将文件作为可下载文件返回。
以下是考虑的选项: 1. Microsoft.Office.Interop.Excel – 该驱动实现了上述所有功能,但是,该驱动需要在服务器上安装 Excel 客户端工具,这不是首选选项,因为我们不能要求在所有服务器上都安装 Excel环境。 2. 第三方产品 - 一个名为 Excel Package Plus 的免费驱动程序似乎满足了我们几乎所有的要求。除了刷新数据透视表之外,我们几乎可以完成上述操作列表中的所有操作。 3. 在已有的excel文件上写一个宏来刷新数据透视表 - 刷新会在用户打开文件时发生,造成延迟,并且要求下载的文件刷新数据透视表。
因此,显然,对于上述所有选项,我们遇到了障碍。我想知道是否可以将 excel 模板放在一台安装了 excel 的服务器中并从 Web 服务器访问它。这样我就可以使用 Interop.Excel 而无需在我的 Web 服务器上安装驱动程序。我不确定这是否会按预期工作。
【问题讨论】:
标签: c# vba excel excel-interop