C#读写word
操作word之前需要在COM引入Microsoft Office 12.0 Object Library(文件库可能不一样)
然后添加using Microsoft.Office.Interop.Word;
读操作,docFilename为文件路径
private string Doc2Text(string docFileName)
{
StringBuilder sb = new StringBuilder();
ApplicationClass wordApp = new ApplicationClass();
object fileobj = docFileName;
object unknow = System.Reflection.Missing.Value;
//打开指定文件
try
{
_Document doc = wordApp.Documents.Open(ref fileobj, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow, ref unknow
);
int paragraphsCount = doc.Paragraphs.Count;
for (int i = ; i <= paragraphsCount; i++)
{
sb.AppendLine(doc.Paragraphs[i].Range.Text.Trim());//获得文档内容
}
doc.Close(ref unknow, ref unknow, ref unknow);
wordApp.Documents.Save(ref unknow, ref unknow);
wordApp.Quit(ref unknow, ref unknow, ref unknow);
}
catch (Exception) { }
return sb.ToString();
}
写操作
private Boolean WriteLocalFile(string DocFileName, string text)
{
try
{ object fileobj = DocFileName;
object unknow = System.Reflection.Missing.Value;
//打开word程序,创建一个新的word文档,但是还没有保存到硬盘中
ApplicationClass wordApp = new ApplicationClass();
_Document doc = wordApp.Documents.Add(ref unknow, ref unknow, ref unknow, ref unknow);
doc.Content.Text += text;
//保存word文档
doc.SaveAs(ref fileobj, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);
doc.Close(ref unknow, ref unknow, ref unknow);
wordApp.Documents.Save(ref unknow, ref unknow);
wordApp.Quit(ref unknow, ref unknow, ref unknow);
return true;
}
catch (Exception) { return false; }
}
第一次写博客,也是为了记录和分享学过的东西。
C#操作word内容,可以参考https://msdn.microsoft.com/en-us/library/office/dn320614.aspx
C#读写word的更多相关文章
- java 读写word java 动态写入 模板文件
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import ja ...
- POI读写Word docx文件
使用POI读写word docx文件 目录 1 读docx文件 1.1 通过XWPFWordExtractor读 1.2 通过XWPFDocument读 2 写docx ...
- python读写word、excel、csv、json文件
http://blog.csdn.net/pipisorry/article/details/50368044 python读写word文档 (include wps)将word文档转换成txt文档 ...
- 使用POI读写word docx文件
目录 1 读docx文件 1.1 通过XWPFWordExtractor读 1.2 通过XWPFDocument读 2 写docx文件 2.1 直接通过XWPF ...
- 使用POI读写Word doc文件
使用POI读写word doc文件 目录 1 读word doc文件 1.1 通过WordExtractor读文件 1.2 通过HWPFDocument读文件 2 写w ...
- 读写Word的组件DocX介绍与入门
本文为转载内容: 文章原地址:http://www.cnblogs.com/asxinyu/archive/2013/02/22/2921861.html 开源Word读写组件DocX介绍与入门 阅读 ...
- C#使用Spire.Doc Word for .Net读写Word
以前对Excel或Word文档操作都使用微软的COM组件Microsoft Word 15.0 object library. 但是这种方式必须要求服务器上安装Office,而且会出现读写操作完成后未 ...
- android使用POI读写word doc文件
目录 1 读word doc文件 1.1 通过WordExtractor读文件 1.2 通过HWPFDocument读文件 2 写word doc文件 Apache p ...
- Docx读写Word
Docx.dll功能比较强大,具备以下功能: 创建新的word文档或者读取已有的world文档 替换书签处内容: 插入表格或者在已有表格新增数据行: 插入图片,轻松设置图片大小: 保存或者另存为: 分 ...
- poi读写word模板 / java生成word文档
有一word文档表格 形如: 姓名 ${name} 电话 ${tel} 从数据库读取记录替换上述变量 import java.io.FileOutputStream; import java.util ...
随机推荐
- 再谈Redirect(客户端重定向)和Dispatch(服务器端重定向)
这是两个常常被放在一起进行比较的概念,今天对这两个概念再重新回顾一下,前者发生在客户端(浏览器),后者发生在服务器端,因此也有人把前者称为客户端重定向,把后者称为服务器端重定向,虽然对于后者这种称谓并 ...
- NSArray和NSMutableArray相互转换, 以及常用方法-备
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...
- position: absolute;绝对定位水平居中问题
position: absolute;绝对定位水平居中问题 用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋.让我们先来看一下CSS中常见的几种让 ...
- Qt实现基于G.729A(G729A)的语音聊天
一.G.729协议简介G.729协议是由ITU-T的第15研究小组提出的,并在1996年3月通过的8Kbps的语音编码协议.G.729系列主要有以下几种:G.729—最基本的G.729标准协议,原始版 ...
- C/C++ 指针的非空判断
一定要分得清楚C和C++的“空指针常量”不是一样的.C标准不保证NULL等于0,所以做指针非空判断时,应该用if(p != NULL):因为“上下文转换到bool值”的统一性,C++就应该用if(p) ...
- 【转】repo sync同步Android 源代码下载到99%出错
原文网址:http://blog.csdn.net/mr_president/article/details/7693707 根据Google官网上的方法在我们实验室搭建了一个本地的Android代码 ...
- 【转】notepad++设置字体和字体大小
原文网址:http://www.aichengxu.com/view/604 今天很多朋友问我怎么设置notepad++的代码字体和代码字体的大小,习惯了editplus的朋友可能会在notepad+ ...
- C++ builder 生成以管理员身份运行的exe
转自:http://bbs.csdn.net/topics/310225109#post-312177603 ,稍微做了一点修改 创建一个文本文件,命名为123.manifest,内容如下: < ...
- CF 579A Raising Bacteria
题意:细菌爱好者在盒子里面培养细菌.最初盒子是空的,每天可以往盒子里面添加任意数目的细菌,而且每天每个细菌会分裂成两个.在某一时刻要想获得某一数量的细菌,要求最初放置的最少的细菌数目. 思路: 求出 ...
- UESTC_敢说就敢做 CDOJ 631
敢说就敢做 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...