晚上好!
我已经在Delphi中建立了一个服务应用程序,它应该生成一个excel,并且每天通过电子邮件发送几次。
基本上,我的查询组件配置良好(SQLQuery、Provider、Client和DataSource),当我在IDE中调试服务时,所有流程都正常工作。
问题是,当我试图安装我的服务并在没有Delphi的情况下运行它时,程序会一直运行到这一行:
Excel.Application.Workbooks[1].SaveAs(pFileName + '.xls');
编辑:在上面的例子中,pFileName变量被提供了'C:\',这意味着我给出了完整的路径。
我得到了一个例外,这是一个信息:
工作簿类的保存方法失败
这让我认为问题不在代码中,而是在我的计算机中(某种配置)。
我已经用我的用户配置了服务,所以我拥有所有的权限,我也可以在服务中生成txt文件,但不能生成xls (excel)文件。
非常感谢!
发布于 2014-05-06 00:00:53
我在打这个问题的时候找到了答案。尽管我使用的是Windows 7,但这对我来说是有效的:
当使用Windows2008Excel服务器 x64时,创建以下目录以启用x64导入和导出: \Windows\SysWOW64\config\systemprofile\Desktop 当使用Windows2008Server x86时,创建以下目录以启用ExcelIn入和导出: \Windows\System32\config\systemprofile\Desktop
来源:导出到Excel错误- Oracle博客
注意:我甚至删除了文件夹,并再次尝试确保这是解决方案。谢谢!
发布于 2014-05-06 02:18:19
您没有指定完整的路径,因此您将尝试将文件保存到服务的工作目录中。您的服务的工作目录似乎是不存在的目录。
这里的适当解决方案是提供文件的完整路径。由于您的目标是暂时保存文件,以便将其附加到电子邮件中,因此将其保存到临时目录是有意义的。通过调用GetTempPath查找临时目录。
https://stackoverflow.com/questions/23483842
复制相似问题