将 Excel 转换为 HTM 文件作为服务器上的计划任务

Convert Excel to HTM file as a Scheduled Task on a Server

我有一个程序可以对不同文件类型进行所有类型的转换。当程序在个人计算机上或什至在 windows 服务器上手动执行时,将文件从 Excel 转换为 HTM 的功能可以正常运行。

当程序被安排为 windows 服务器上的任务时会出现此问题。 Excel.Workbooks.Close().

抛出错误 0x800AC472

我的假设是,这是服务器上的许可问题,会抛出一个 office 激活对话框,导致程序无法关闭。

我想将 Office Interop 替换为 package/library,该 package/library 与此类转换的服务器端自动化兼容。支持此要求的库有哪些?

我目前在 Visual Basic 控制台应用程序中使用 Office Interops 处理转换。

Private Shared objXL As Excel.Application

GC.Collect()

    Dim objWB As Excel.Workbook

    Try

        objWB = objXL.Workbooks.Open(fileSource)

        objWB.SaveAs(fileDestination, Excel.XlFileFormat.xlHtml, , , False, False)
      
        objWB.Close(Nothing, Nothing, Nothing)

    Catch ex As Exception
        Throw ex
    End Try

    objXL.Workbooks.Close()
    System.Runtime.InteropServices.Marshal.ReleaseComObject(objWB)
    objWB = Nothing

GC.Collect() 

创建以下目录修复了以下问题:运行 服务器上的办公自动化创建了对话框,因此无人参与的执行失败,因为 Office 应用程序期望与真实用户交互并因此关闭这些对话框。

C:\Windows\SysWOW64\config\systemprofile\Desktop

C:\Windows\System32\config\systemprofile\Desktop

我的操作系统Windows Server 2012 R2 Standard