使用Word API(非Openxml)打开Word文档简单示例(必须安装Word)

  1. 首先需要引入参照Microsoft.Office.Interop.Word
  2. 代码示例如下:
  1. public void OpenWord()
  2. {
  3. // Word应用对象
  4. Word.Application wdApp = null;
  5. // Word文档对象
  6. Word.Document wdDoc = null;
  7.  
  8. // Word路径
  9. object oWdPath = "XXXXXXXXXXXXXX";
  10. // Word设定:缺损项
  11. object oMissing = System.Reflection.Missing.Value;
  12. // Word设定:不保存
  13. object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
  14.  
  15. try
  16. {
  17. // 新建Word应用
  18. wdApp = new Word.Application();
  19. // 设置Word应用为可见
  20. wdApp.Visible = true;
  21. // 打开Word文档
  22. wdDoc = wdApp.Documents.Open(ref oWdPath,
  23. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  24. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
  25. ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
  26. }
  27. finally
  28. {
  29. #pragma warning disable
  30. // 关闭Word文档
  31. if (wdDoc != null) { wdDoc.Close(); wdDoc = null; }
  32. // 关闭Word应用
  33. if (wdApp != null) { wdApp.Quit(ref doNotSaveChanges, ref oMissing, ref oMissing); wdApp = null; }
  34. #pragma warning disable
  35. GC.Collect();
  36. }
  37. }

注意:

该方法必须安装Word,运行速度可能比较慢。

如只是要取得Word里面的数据,且速度要求比较高,推荐使用Openxml,而且不需要安装Word。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

C#打开WORD文档内容并显示

摘自:http://www.cnblogs.com/host-2008/archive/2008/06/04/1213975.html

ASP.NET编程中常用到的27个函数集

1、DateTime 数字型

System.DateTime currentTime=new System.DateTime();         1.1 取当前年月日时分秒 currentTime=System.DateTime.Now;         1.2 取当前年 int 年=currentTime.Year;         1.3 取当前月 int 月=currentTime.Month;         1.4 取当前日 int 日=currentTime.Day;         1.5 取当前时 int 时=currentTime.Hour;         1.6 取当前分 int 分=currentTime.Minute;         1.7 取当前秒 int 秒=currentTime.Second;         1.8 取当前毫秒 int 毫秒=currentTime.Millisecond;         (变量可用中文)

2、Int32.Parse(变量) Int32.Parse("常量")         字符型转换 转为32位数字型

3、 变量.ToString()         字符型转换 转为字符串         12345.ToString("n"); //生成 12,345.00         12345.ToString("C"); //生成 ¥12,345.00         12345.ToString("e"); //生成 1.234500e+004         12345.ToString("f4"); //生成 12345.0000         12345.ToString("x"); //生成 3039 (16进制)         12345.ToString("p"); //生成 1,234,500.00%

4、变量.Length 数字型         取字串长度:         如: string str="中国";         int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名

5、System.Text.Encoding.Default.GetBytes(变量)         字码转换 转为比特码         如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);         然后可得到比特长度:         len = bytStr.Length;

6、System.Text.StringBuilder("")         字符串相加,(+号是不是也一样?)         如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");         sb.Append("中华");         sb.Append("人民");         sb.Append("共和国");

7、变量.Substring(参数1,参数2);         截取字串的一部分,参数1为左起始位数,参数2为截取几位。         如:string s1 = str.Substring(0,2);

8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();         取远程用户IP地址

9、穿过代理服务器取远程用户真实IP地址:         if(Request.ServerVariables["HTTP_VIA"]!=null){         string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();         }else{         string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();         }

10、 Session["变量"];         存取Session值;         如,赋值: Session["username"]="小布什";

取值: Object objName=Session["username"];         String strName=objName.ToString();         清空: Session.RemoveAll();

11、String str=Request.QueryString["变量"];         用超链接传送变量。         如在任一页中建超链接:<a href=Edit.ASPx?fbid=23>点击</a>         在Edit.aspx页中取值:String str=Request.QueryString["fdid"];

12、DOC对象.CreateElement("新建节点名");         创建XML文档新节点

13、父节点.AppendChild(子节点);         将新建的子节点加到XML文档父节点下

14、 父节点.RemoveChild(节点);         删除节点

15、Response         Response.Write("字串");         Response.Write(变量);         向页面输出。

Response.Redirect("URL地址");         跳转到URL指定的页面

16、char.IsWhiteSpce(字串变量,位数)——逻辑型         查指定位置是否空字符;         如:         string str="中国 人民";         Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。

17、char.IsPunctuation('字符') --逻辑型         查字符是否是标点符号         如:Response.Write(char.IsPunctuation('A')); //返回:False

18、(int)'字符'

把字符转为数字,查代码点,注意是单引号。         如:         Response.Write((int)'中'); //结果为中字的代码:20013

19、(char)代码         把数字转为字符,查代码代表的字符。         如:         Response.Write((char)22269); //返回“国”字。

20、 Trim()         清除字串前后空格

21 、字串变量.Replace("子字串","替换为")         字串替换         如:         string str="中国";         str=str.Replace("国","央"); //将国字换为央字         Response.Write(str); //输出结果为“中央”

再如:(这个非常实用)

string str="这是<script>脚本";         str=str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原)         Response.Write(str); //显示为:“这是<script>脚本”

如果不替换,<script>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。         这段代码的价值在于:你可以让一个文本中的所有Html标签失效,全部显示出来,保护你的具有交互性的站点。         具体实现:将你的表单提交按钮脚本加上下面代码:         string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。         strSubmit=strSubmit.Replace("<","<font><</font>");         然后保存或输出strSubmit。         用此方法还可以简单实现UBB代码。

22、Math.Max(i,j)         取i与j中的最大值         如 int x=Math.Max(5,10); // x将取值 10

加一点吧 23、字串对比......         加一点吧

23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法:

(1)、         string str1; str2         //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:         if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }

(2)、         //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.

(3)、         //语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.

24、IndexOf() 、LastIndexOf()         查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如:         str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)         str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)         str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)

25、Insert()         在字串中指定索引位插入指定字符。如:         str1.Insert(1,"字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”;

26、PadLeft()、PadRight()         在字串左(或右)加空格或指定char字符,使字串达到指定长度,如:         <%         string str1="中国人";         str1=str1.PadLeft(10,'1'); //无第二参数为加空格         Response.Write(str1); //结果为“1111111中国人” , 字串长为10         %>

27、Remove()         从指定位置开始删除指定数的字符         字串对比一般都用: if(str1==str2){ }

------

使用Word API打开Word文档 ASP.NET编程中常用到的27个函数集的更多相关文章

  1. word文档重新打开后文档结构错乱

    word文档重新打开后文档结构错乱,然后通过如下方法解决了. OFFICE2007及以上.        在打开word的时候左下角会有提示word自动更新文档样式,按esc键取消,然后在大纲模式下任 ...

  2. 关于ASP.NET Web Api的HelpPage文档注释问题

    关于ASP.NET Web Api的HelpPage文档注释问题 以前我用微软的HelpPage来自动生成的webAPI帮助文档.在使用了一段时间后发现只能显示Controller上面写的注释文档内容 ...

  3. asp.net core web api 生成 swagger 文档

    asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...

  4. 【开源】.Net Api开放接口文档网站

    开源地址:http://git.oschina.net/chejiangyi/ApiView 开源QQ群: .net 开源基础服务  238543768 ApiView .net api的接口文档查看 ...

  5. 怎么用ABBYY打开PDF文档

    我们日常工作中接触的文档大多都是PDF格式的,这种格式的文件需要借助工具才能打开,大家最熟悉的无非就是Adobe了,但你知道吗?除了Adobe,OCR文字识别软件也可以打开PDF文档,比如ABBYY ...

  6. 使用.NET 6开发TodoList应用(27)——实现API的Swagger文档化

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在日常开发中,我们需要给前端提供文档化的API接口定义,甚至需要模拟架设一个fake服务用来调试接口字段.或者对于后端开发人员 ...

  7. MVC自定定义扩展点之ActionNameSelectorAttribute+ActionFilterAttribute 在浏览器中打开pdf文档

    仅仅演示 了ASP.MVC 5 下为了在在浏览器中打开pdf文档的实现方式之一,借此理解下自定义ActionNameSelectorAttribute+ActionFilterAttribute 类的 ...

  8. CentOS6.4下使用默认的文档查看器打开PDF文档乱码的解决方案

     最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决.    方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如 ...

  9. 不启动VS2013,直接打开帮助文档的方法

    在使用VS2013做开发的时候,当我们需要查询一个知识点时,直接按"F1"键就可以打开配套的帮助文档.如果在没有打开VS2013的情况想查看它的帮助文档,我们应该怎么办呢?我们能否 ...

随机推荐

  1. PAT (Top Level) Practise 1005 Programming Pattern (35)

    后缀数组.排序之后得到height数组,然后从上到下将height>=len的都分为一组,然后找到第一组个数最多的输出即可. #pragma comment(linker, "/STA ...

  2. ios电话监听状态

    #import "ViewController.h" #import <CoreTelephony/CTCallCenter.h> #import <CoreTe ...

  3. WKWebView与Js交互

    首先打开webstorm,将最下面h5拷贝到html中.然后导入工程 #define kMessageHandlerName @"mymobile" 1.创建配置类 - (WKWe ...

  4. 1.5后台修改添加TDK

    manager\includes\languages\english.php //注意 是后台的语言包define('BOX_CONFIGURATION_Lin_STORE', 'TDKcss_set ...

  5. CDN技术详解及实现原理

    CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...

  6. java 多线程 一个博客

    http://blog.csdn.net/a352193394/article/category/2563875 Java多线程之~~~线程安全容器的非阻塞容器 在并发编程中,会经常遇到使用容器.但是 ...

  7. linux配置java环境变量(转)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  8. Unity 的几种打包姿势(android)

    Unity 版本  4.3.2 图片1 1 默认的工程进行打包 得到的apk为8.1m(net subset) 图片2 2 代码剥离最小 – use mirco mscorlib 图片3 3  从网上 ...

  9. BFS and Queue

    BFS (Bridth First Search) can be implemented by a queue. Procedure is like this: (Q is Queue) 1, Put ...

  10. H5调用本地摄像头

    <!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"& ...