乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > 如何在C#中读取Word文档-c读取word内容,c读取word文档内容

如何在C#中读取Word文档-c读取word内容,c读取word文档内容

作者:乔山办公网日期:

返回目录:word文档


word的文件编码格式应该不是公开的,如果你想通过程序写入到word文件,那么必须知道它的编码方式。
网上有一个开源软件叫open office,你可以下载它的源码看看它是怎样对word文件编码解码的。
如果不想采取上述方法,你可以找找有没有别人提供的闭源库,比如dll动态链接库之类的。
总之,你想写入word文档,必须要能编码解码,这是核心问题

1.新建一个winform工程,添加两个button控件和一e68a84e799bee5baa6333个textbox控件。

2.添加引用com文件Microsoft word 11.0 Object Library
并在代码中添加命名空间using Word //注意首字母大写

3.定义全局变量
//创建word
_Application app=new Word.Application();
//创建word文档
_Document doc=null;
注意word和word文档是不同的

4.通过文件打开对话框获取word文件所在位置,代码如下
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "word文件|*.doc";
if (dlg.ShowDialog() == DialogResult.OK)
{
string fileName = dlg.FileName;
}
打开word,代码如下
object unknow = Type.Missing;
doc = app.Documents.Open(ref fileName,
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);

5.读取word文档
string temp = doc.Paragraphs[i].Range.Text.Trim();//变量i为第i段
textBox1.Text = temp; //将第i段内容复制到textbox中
这个用HTML语言吧

基本步骤
(1)创建)一个 MFC 的程序工程。

 注意:在VC中对WORD进行操作需要在MFC AppWizard - Step 2 of
4中的Automaiton选项上打上勾。


(2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,示例程序是在VC6 下编写测试的)。


(3)Add Class...\From a type Library... 在 Office
目录中,找到想使用的类型库。(我使用的是 Office2003,其Word 的类型库文件e799bee5baa6e997aee7ad94e58685e5aeb9331,保存在 E:\Program
Files\Microsoft Office\Office12\MSWOR.OLB)。

 

(4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。


(5)初始化COM。方法一,找到App的InitInstance()函数,在其中添加
AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后
CoUninitialize()。

(6)在你需要调用 Office 功能函数的 cpp 文件中
    
#include
<atlbase.h>  //
为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类
    
#include "文件名.h"   //
具体的头文件名,是由装载类型库的文件名决定的,如MSWORD。

示例程序:

//word应用程序
  _Application app;
  //初始化连接
  app.CreateDispatch("word.Application");
  Documents doc;
  CComVariant
a(_T(strWord)),b(false),c(0),d(true),aa(0),bb(1);
  _Document doc1;
  doc.AttachDispatch(app.GetDocuments());
  doc1.AttachDispatch(doc.Add(&a,&b,&c,&d));
  Range range;
  //求出文档的所选区域
  range=doc1.GetContent();//取出文件内容
  str=range.GetText();
  m_richedit.SetWindowText(str);
  //关闭
  app.Quit(&b,&c,&c);
  //释放环境
  app.ReleaseDispatch();

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网