使用Word API(非Openxml)打开Word文档简单示例(必须安装Word)
- 首先需要引入参照Microsoft.Office.Interop.Word
- 代码示例如下:
public void OpenWord()
{
// Word应用对象
Word.Application wdApp = null;
// Word文档对象
Word.Document wdDoc = null; // Word路径
object oWdPath = "XXXXXXXXXXXXXX";
// Word设定:缺损项
object oMissing = System.Reflection.Missing.Value;
// Word设定:不保存
object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; try
{
// 新建Word应用
wdApp = new Word.Application();
// 设置Word应用为可见
wdApp.Visible = true;
// 打开Word文档
wdDoc = wdApp.Documents.Open(ref oWdPath,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
}
finally
{
#pragma warning disable
// 关闭Word文档
if (wdDoc != null) { wdDoc.Close(); wdDoc = null; }
// 关闭Word应用
if (wdApp != null) { wdApp.Quit(ref doNotSaveChanges, ref oMissing, ref oMissing); wdApp = null; }
#pragma warning disable
GC.Collect();
}
}
注意:
该方法必须安装Word,运行速度可能比较慢。
如只是要取得Word里面的数据,且速度要求比较高,推荐使用Openxml,而且不需要安装Word。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
摘自:http://www.cnblogs.com/host-2008/archive/2008/06/04/1213975.html
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){ }
------