0

我们有一个托管在 iis 6.0 上的 Web 服务,它打开一个指定的 excel 模板文件。并且宏“t.xla”应该在excel打开后从数据库中检索数据,准备好供客户端下载。问题是宏似乎没有运行。代码如下(我现在不在公司,所以我只写伪代码):

System.Diagnostics.ProcessStartInfo pStartInfo = new ProcessStartInfo(excelAppPath, excelTemplatePath);
//nomal window is in debug mode, createNoWindow will be used in product envirionment
pStartInfo.WindowStyle = ProcessWindowStyle.Nomal;

System.Diagnostics.Process process = new Process();
process.Start(pStartInfo);
log.Info("Excel Process was started");

当我运行此代码时,1)可以看到 excel.exe 是从任务管理器启动的。2)excel.exe在桌面上没有创建窗口,有人说应该是,因为iis有限。3)我确定宏“t.xla”没有运行,因为不存在应该由宏写入的日志。当我双击任何一个excel模板时,都会找到日志。

现在 iis 工作进程在本地 SYSTEM 帐户中运行,并且已经启用 IIS Admin Service 与桌面交互。模板文件和日志文件所在的目录也可以由每个人编写

谁能给我一些建议?提前致谢。

4

1 回答 1

0

您可能想要使用本地系统以外的其他帐户 - 这样您就可以使用该帐户登录并尝试相同的操作以查看是否弹出任何可能阻止事情进一步发展的对话框或错误,例如宏安全设定。微软不支持以这种方式运行 Excel,但这并不意味着你不能让它工作。查看这篇文章,它涵盖了更多需要考虑的细节:http: //support.microsoft.com/kb/257757

于 2013-01-19T03:52:02.570 回答