惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
SecWiki News
SecWiki News
P
Proofpoint News Feed
P
Palo Alto Networks Blog
L
LINUX DO - 热门话题
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Spread Privacy
Spread Privacy
A
Arctic Wolf
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园_首页
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
DataBreaches.Net
量子位
K
Kaspersky official blog
I
InfoQ
W
WeLiveSecurity
Engineering at Meta
Engineering at Meta
Scott Helme
Scott Helme
U
Unit 42
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
Cisco Talos Blog
Cisco Talos Blog
T
Troy Hunt's Blog
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
Recent Announcements
Recent Announcements
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
C
Cybersecurity and Infrastructure Security Agency CISA
H
Heimdal Security Blog
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
Security Latest
Security Latest
B
Blog RSS Feed
Project Zero
Project Zero
C
Cisco Blogs
S
Securelist
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
T
Tor Project blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs

博客园 - 寒星

2010年度总结 企业IT部门的职责和定位(转摘) 09年度总结 重读《软件架构师职业导读》有感 向给我留言的朋友道歉 B/S应用中的ActiveX数字签名相关问题杂谈 兑现承诺,给出我出的面试题。 年后第一天上班 提前给大家拜个早年。 闻听家乡出现流脑病例,祝福ing... 走近COM Interop--编程以实现COM-->Assembly 年终了,准备换换环境。 开心ing,终于买到回家的车票了。 老婆的第一次产前检查 Small Tip One: 根据指定的IIS虚拟路径获取相应的物理路径 《十种不宜追随的老板》一文读后感 十种不宜追随的老板[转] 回顾 2004 凑热闹,Share自己写的另一个小工具--代码统计器。
Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案
寒星 · 2010-05-18 · via 博客园 - 寒星

     昨天,组里一个小朋友告诉我,他写的报表生成服务中无法打开一个已经存在的Excel 2007文件,他的开发环境是Win7、Visual Studio .Net 2008(Windows Server 2008下同样存在此问题)。比较奇怪的是,Excel Automation对象是可以实例化的,但是在执行Workbooks.Open时抛出异常如下:

Microsoft Office Excel 不能访问文件“a.xls”。 可能的原因有:

• 文件名称或路径不存在。
• 文件正被其他程序使用。
• 您正要保存的工作簿与当前打开的工作簿同名。_Microsoft Office Excel_   在 TemplateExcelFileExporter.Create(DataSet ds, String fullName) 位置 E:\Demos\ExportService\ExportService\Class1.cs:行号 263
   在 ExportService.Service1.OnStart(String[] args) 位置 E:\Demos\ExportService\ExportService\Service1.cs:行号 30

    事实上,a.xls文件是存在的,而同样的代码在非Service程序是正常的,且Service部署到Windows Server 2003上运行正常。我不得不怀疑是权限问题,服务是以Local System运行的,在给工作目录加上了相应的权限后发现问题依旧。无奈,上网去转了一圈,找到了一个解决方案,以下是其中关键的部分:

This solution is ...

・Windows 2008 Server x64
  Please make this folder.

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

・Windows 2008 Server x86

  Please make this folder.

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

  ...instead of dcomcnfg.exe.

This operation took away office automation problems in my system.

A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.

It disappears from Windows2008, Windows2003 had the folder,
and I think it cause this error.

    虽然问题解决了,但是为什么在X:\Windows\System32\config\systemprofile目录下创建名为Desktop目录即可解决问题,这个还不是很清楚。继续查了一些资料,应该还是权限的问题,因为无论Windows Service运行在哪个帐号下,它所创建的文件的Owner都是Administrator,因此Excel无法打开此文件。但为啥一定要建一个空的Desktop目录,仍未找到答案。如果哪位高价知道,请不吝赐教。