将 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
我有一个程序可以对不同文件类型进行所有类型的转换。当程序在个人计算机上或什至在 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