在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]
2004-09-19 13:38
459 查看
在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
这两天接到一个任务,其中有一部分功能就是能够利用表单生成一个统一格式的Word文档,并将其保存在服务器的固定目录中。
为了实现这个功能我在Code Project中看到了一篇相关的文章:
Microsoft Word Documents from ASP.NET
在这篇文章中作者详细介绍如何用ASP.NET在VS2003环境中引用Word组件,并构造了一个CCWordApp的类来对Word进行操作,其中涵盖了很多基本的操作。对于在今天这个基于够构建开发的我们这些懒人是很好的一个开始。
于是我就毫不犹豫地使用了这个类,应用到了我的程序中。
由于我是第一次使用Word Com组件,在使用中出现了很多配置上的问题。还有些代码上的迁移性的问题在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[原理篇]中阐述。
问题一:
当我运行时出现如下错误:
拒绝访问。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 拒绝访问。
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}/ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
解决方法:
在web.config 中的<system.web>节点中添加<identity impersonate="true"/>
解释详见
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/html/gngrfIdentitySection.htm
问题二:
当创建一个新的文档或者保存一个修改过的文档时:
代码是:test.SaveAs (ConfigurationSettings.AppSettings["WordDoc"] + DocName.Text + ".doc");
出现如下错误:
无法打开宏储存。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 无法打开宏储存。
解决方法:
在运行中输入dcomcnfg
在组件服务à计算机à我的电脑àDCOM找到:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
设置启动和激活权限和访问权限为自定义
在两项中都要添加MACHINENAME/ASPNET用户
标识修改为交互式用户
现在你就可以正常的用ASP.NET创建DOC文档了。
这两天接到一个任务,其中有一部分功能就是能够利用表单生成一个统一格式的Word文档,并将其保存在服务器的固定目录中。
为了实现这个功能我在Code Project中看到了一篇相关的文章:
Microsoft Word Documents from ASP.NET
在这篇文章中作者详细介绍如何用ASP.NET在VS2003环境中引用Word组件,并构造了一个CCWordApp的类来对Word进行操作,其中涵盖了很多基本的操作。对于在今天这个基于够构建开发的我们这些懒人是很好的一个开始。
于是我就毫不犹豫地使用了这个类,应用到了我的程序中。
由于我是第一次使用Word Com组件,在使用中出现了很多配置上的问题。还有些代码上的迁移性的问题在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[原理篇]中阐述。
问题一:
当我运行时出现如下错误:
拒绝访问。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 拒绝访问。
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}/ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
解决方法:
在web.config 中的<system.web>节点中添加<identity impersonate="true"/>
解释详见
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/html/gngrfIdentitySection.htm
问题二:
当创建一个新的文档或者保存一个修改过的文档时:
代码是:test.SaveAs (ConfigurationSettings.AppSettings["WordDoc"] + DocName.Text + ".doc");
出现如下错误:
无法打开宏储存。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 无法打开宏储存。
解决方法:
在运行中输入dcomcnfg
在组件服务à计算机à我的电脑àDCOM找到:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
设置启动和激活权限和访问权限为自定义
在两项中都要添加MACHINENAME/ASPNET用户
标识修改为交互式用户
现在你就可以正常的用ASP.NET创建DOC文档了。
相关文章推荐
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除 .
- Asp.net 2.0在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除
- 在 Windows Server 2003 上的 IIS 6.0 中使用 IIS 5 隔离模式时,如何为 ASP.NET 1.1 的 ASPNET 帐户配置进程标识
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除
- Asp.net 2.0在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a 的解决方法!
- ASP.NET 实践:使用 ConfigurationSection 创建自定义配置段
- ASP.NET 实践:使用 IConfigurationSectionHandler 创建自定义配置段
- Asp.net 2.0在Windows 2003 Server 上配置Microsoft Excel、Microsoft Word应用程序权限时 error: 8000401a 的解决方法!
- 基于asp.net的web页面动态控件创建以及使用
- Win 2003中配置ASP.net环境
- 在ASP.NET中使用Microsoft Word文档
- 为 ASP.NET 创建缓存配置对象[转载]
- 在ASP.NET中使用Microsoft Word文档
- 在Win 2003中配置ASP.net环境
- 在ASP.NET中使用Office Web Components (OWC)创建统计图
- 进入 ASP.NET 世界 - 第 2 部分:使用 SQL Server 2000 创建数据存储层
- [导入]在Win 2003中配置ASP.net环境
- ASP.NET中自定义控件的创建和使用