企業應用中後臺常常會跑一些生成、發送Excel報表的程序。app
.NET應用程序生成Excel文件,基本上有2種方法:this
1.Microsoft Excel XX Object Library (Interop.Excel.DLL文件)spa
2.NPOI開發
雖說NPOI很快,可是Excel XX Object Library是很是方便的,代碼能夠參考Excel中錄製的宏代碼。it
前段時間就遇到一個問題:.NET開發的基於Microsoft Excel XX Object Library 報表程序在Windows Server 2008 R2上運行。報錯:io
Microsoft Office Excel 不能訪問文件「XX.xls」。 可能的緣由有:模板
? 文件名稱或路徑不存在。
? 文件正被其餘程序使用。
? 您正要保存的工做簿與當前打開的工做簿同名後臺
XX.xls就是模板文件。真是百思不得其解。file
在網上查找了一圈找到了解辦法:程序
?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.
也就是:
C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目錄下建立名爲Desktop目錄便可解決問題