ASP.NET2.0导出Word文档(C#导出DOC)

在网络上看到很多关于ASP.NET导出DOC文档的例子,有的干脆就直接将html页面不做任何处理直接导出为DOC文件,但是那样会有很多错误,例如将某些控件显示为图片。我还曾经见过微软为中国某个大公司制作的一个XX系统,导出的DOC文件实际上是某种特殊格式的XML,但是对于这个技术我还不是很了解。于是我在网络上收集资料,找到很多种实现方法,一一实验,最后总结出以下经验。

一、首先配置系统环境:

1、在命令行(work 的sdk命令行提示)中输入:dcomcnfg,会显示出“组件服务”管理器
2、打开“组件服务-》计算机-》我的电脑-》DCOM 配置”,找到“Microsoft Word文档”,单击右键,选择“属性”
3、在“属性”对话框中单击“安全”选项卡,在“启动和激活权限”处选择“自定义”,再单击右边的”编辑“,在弹出的对话框中添加”ASPNET
“(在IIS6中是NETWORD SERVICE)用户,给予”本地启动“和”本地激活“的权限,单击”确定“,关闭”组件服务“管理器。
这样就能在Asp.net页面中访问Word对象了。

二、修改WEB.CONFIG,在<system.web>区段内加入:<identity impersonate="true"/>

三、添加引用:《网站》——>《添加引用》——>《COM》——Microsoft Word 11.0 Object Library

四、添加命名空间引用,
using Microsoft.Office.Interop.Word;

五:代码
Object Nothing = System.Reflection.Missing.Value;
//取得Word文件保存路径
object filename = "c:\aa.doc";
//创建一个名为WordApp的组件对象
Microsoft.Office.Interop.Word.Application WordApp = new ApplicationClass();
//网络上有写代码中直接使用Word.Application WordApp = new ApplicationClass(); 但我在实际编写中总是出现错误。
//创建一个名为WordDoc的文档对象
Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//增加一表格
Microsoft.Office.Interop.Word.Table table = WordDoc.Tables.Add(WordApp.Selection.Range, 3, 3, ref Nothing, ref Nothing);
//在表格第一单元格中添加自定义的文字内容
table.Cell(1, 1).Range.Text = "lllll";
//在文档空白地方添加文字内容
WordDoc.Paragraphs.Last.Range.Text = "Wellcome To Aspxcn.Com";
//将WordDoc文档对象的内容保存为DOC文档
WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//关闭WordDoc文档对象
WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
//关闭WordApp组件对象
WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);

转载于:https://www.cnblogs.com/hyl8218/archive/2010/08/23/1806129.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java todo error_java.sql.SQLException: sql injection violation, syntax error: TODO UNIQUE unique

wenshao 你好&#xff0c;想跟你请教个问题&#xff1a;我是在用activiti工作流的时候 初始化生成流程表产生了下面的问题工作流引擎代码&#xff1a;ProcessEngineConfiguration config ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();config.se…

ASP VBScript 函数速查表

VBScript函数 功能说明 例子 Abs &#xff08;数值&#xff09;绝对值。一个数字的绝对值是它的正值。空字符串 (null) 的绝对值&#xff0c;也是空字符串。未初始化的变数&#xff0c;其绝对为 0例子&#xff1a;ABS(-2000) 结果&#xff1a;2000Array &#xff08;以逗点分…

LeetCode 201. 数字范围按位与(位运算)

文章目录1. 题目2. 解题2.1 按位查找02.2 两数直接都往右移动&#xff0c;直到相等1. 题目 给定范围 [m, n]&#xff0c;其中 0 < m < n < 2147483647&#xff0c;返回此范围内所有数字的按位与&#xff08;包含 m, n 两端点&#xff09;。 示例 1: 输入: [5,7] 输…

编php矩阵求和,PHP二维数组如何求和?

PHP二维数组求和的方法&#xff1a;1、使用array_sum和array_map函数求和1)、PHP7.2以下可用<?php $arr array(0>array(id>1,tol>10),1>array(id>3,tol>12),2>array(id>8,tol>5));//输出tol值的和echo array_sum(array_map(create_function($v…

LeetCode 1311. 获取你好友已观看的视频(BFS+哈希map+vector排序)

1. 题目 有 n 个人&#xff0c;每个人都有一个 0 到 n-1 的唯一 id 。 给你数组 watchedVideos 和 friends &#xff0c;其中 watchedVideos[i] 和 friends[i] 分别表示 id i 的人观看过的视频列表和他的好友列表。 Level 1 的视频包含所有你好友观看过的视频&#xff0c; …

发布ASP.NET程序至IIS7

以前一直和IIS5打交道&#xff0c;后来系统升级到WIN7,自然的就用上了IIS7了&#xff0c;不过因为对IIS7服务器没有系统的了解&#xff0c;所以在自己机子上测试发布网站时&#xff0c;总是遇到各种各样的问题&#xff0c;当时就放弃了&#xff0c;准备有时间再研究的&#xff…

php请求来源,php验证请求页面来源

php教程验证请求页面来源if( $_server[http_x_requested_with] xmlhttprequest ) {echo ajax;} else {echo normal;}jquery内部实现ajax的时候&#xff0c;已经加入了标识jquery源码中是这样的&#xff1a;xhr.setrequestheader("x-requested-with", "xmlhttpr…

LeetCode 1319. 连通网络的操作次数(BFS/DFS/并查集)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS2.3 并查集1. 题目 用以太网线缆将 n 台计算机连接成一个网络&#xff0c;计算机的编号从 0 到 n-1。 线缆用 connections 表示&#xff0c;其中 connections[i] [a, b] 连接了计算机 a 和 b。 网络中的任何一台计算机都可以通过网络直…

1D機身調焦方法

原文作者&#xff1a;Kent 原文地址&#xff1a;http://www.ldsclub.net/forum/viewthread.php?tid21513&extrapage%3D1&page1另附大兔子調焦心得&#xff1a;http://www.ldsclub.net/forum/viewthread.php?tid28268&extrapage%3D1 需要1.27規格的6角手柄本次轉文…

kdevelop php,KDevelop 5.2开放源代码IDE发布,改进了C ++,PHP和Python支持

KDevelop 5.2近半年的发布&#xff0c;是一个主要的发行版&#xff0c;它在前面版本KDevelop 5.1中实现的Analyzer菜单条目中引入了更多的分析器插件。这些包括Heaprack&#xff0c;一个用C / C 编写的Linux应用程序的堆内存分析器和Cppcheck(一种流行的C 编程语言静态分析器)&…

LeetCode 187. 重复的DNA序列(哈希/位运算)

1. 题目 所有 DNA 都由一系列缩写为 A&#xff0c;C&#xff0c;G 和 T 的核苷酸组成&#xff0c;例如&#xff1a;“ACGAATTCCG”。 在研究 DNA 时&#xff0c;识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长…

System.Net.Cookie

Does anyone know if it is possible to convert a System.Net.Cookie to a System.Web.HttpCookie ? What is the difference exactly? What Im trying to do is simulate a pseudo-autologin feature on my site into another website. So for example, my code does an Ht…

java获取api接口新浪数据,新浪短网址API接口的获取以及API接口的调用文档分享...

我们可能会收到类似于这样的短信&#xff0c;发现其中的链接并不是常规的网址链接&#xff0c;而是个短小精悍的短链接&#xff0c;产品中经常需要这样的需求&#xff0c;如果在给用户下发的短信中是一个很长的连接&#xff0c;用户体验肯定很差&#xff0c;因此我们需要实现长…

LeetCode 223. 矩形面积

1. 题目 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示&#xff0c;如图所示。 示例: 输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45 说明: 假设矩形面积不会超出 int 的范围。来源&#xff1a;力扣&#xff08;LeetCode&…

exe程序的启动过程

学习windows 编程从mfc角度来说可分为两部分那就是WinMain函数以前的&#xff0c;和WinMain函数以后的。前者涉及很多windows操作系统内部的知识&#xff0c;后者么看mfc源码就可以了。虽然大多数程序不需要你了解太多关于os加载应用程序这方面的知识&#xff0c;但我认为能较深…

php保存流文件到本地,php下载保存文件保存到本地的两种实现方法

第一种&#xff1a;<?php function downfile(){$filenamerealpath("resume.html"); //文件名$datedate("Ymd-H:i:m");Header( "Content-type: application/octet-stream ");Header( "Accept-Ranges: bytes ");Header( "Accep…

企业站

http://files.cnblogs.com/wangdetian168/zhandian.rar 转载于:https://www.cnblogs.com/wangdetian168/archive/2010/09/26/1836163.html

php金字塔手动输入行数,[菜鸟学php] php版自定义函数实现金字塔

54im.com php for循环例子系列文章&#xff1a;1. php版简单实现99乘法表2. php版简单实现金字塔3. php版简单实现棋盘4. php使用自定义函数实现99乘法表5. php版自定义函数实现金字塔6. php版自定义函数实现棋盘转载请注明出处&#xff1a; http://54im.comphp版自定义函数…

【Kaggle】Intermediate Machine Learning(XGBoost + Data Leakage)

文章目录6. XGBoost7. Data Leakage 数据泄露上一篇&#xff1a;【Kaggle】Intermediate Machine Learning&#xff08;管道交叉验证&#xff09; 6. XGBoost 参考&#xff1a;《统计学习方法》提升方法&#xff08;Boosting&#xff09; extreme gradient boosting “梯度提…

silverlight(一.安装和新建项目)

1.下载安装silverlight&#xff1a;Microsoft Silverlight™ 3 Tools &#xff08;安装之前需要升级VS2008到SP1&#xff09; 2.和多数人一样我的程序新建好运行调试报错&#xff0c;提示“未安装silverlight托管调试包”&#xff0c;后来我使用VS2010新建的时候提示安装silver…