VB.Net 服务似乎无法使用 Excel Interop 导出文件
VB.Net Service doesn't seem to be able to use Excel Interop to export files
我有一项服务可以记录设备数据并将信息记录到 SQL 服务器。每天晚上午夜后的随机时间,我将多个 excel 文档导出到临时文件,然后将它们上传到 SharePoint。如果我 运行 服务代码正常(通过将其复制并粘贴到表单应用程序进行测试),导出工作将按预期进行。但是当服务 运行 时,我收到“远程过程调用失败。(HRESULT 异常:0x800706BE)”。
这是 运行将互操作作为服务的限制吗?我看不到任何其他可能的原因,因为代码在表单应用程序中正常工作。
我在网上找到的一些没有帮助的东西:
- 确保目录 C:\Windows\SysWOW64\config\systemprofile\Desktop 存在。确实如此。
- 确保您使用的是本地文件,而不是来自网络资源的文件。我是,它使用
IO.Path.GetTempFileName
创建临时文件
- 切换到用户帐户而不是服务的本地系统帐户。没有变化。
我切换到 ClosedXML 以生成 Excel 文件而不使用 Office Interop,现在当 运行 作为服务时一切正常。
我有一项服务可以记录设备数据并将信息记录到 SQL 服务器。每天晚上午夜后的随机时间,我将多个 excel 文档导出到临时文件,然后将它们上传到 SharePoint。如果我 运行 服务代码正常(通过将其复制并粘贴到表单应用程序进行测试),导出工作将按预期进行。但是当服务 运行 时,我收到“远程过程调用失败。(HRESULT 异常:0x800706BE)”。
这是 运行将互操作作为服务的限制吗?我看不到任何其他可能的原因,因为代码在表单应用程序中正常工作。
我在网上找到的一些没有帮助的东西:
- 确保目录 C:\Windows\SysWOW64\config\systemprofile\Desktop 存在。确实如此。
- 确保您使用的是本地文件,而不是来自网络资源的文件。我是,它使用
IO.Path.GetTempFileName
创建临时文件
- 切换到用户帐户而不是服务的本地系统帐户。没有变化。
我切换到 ClosedXML 以生成 Excel 文件而不使用 Office Interop,现在当 运行 作为服务时一切正常。