- 浏览: 112154 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wuliupo:
这个有一个BUG,当有的td设置 background-col ...
【JQuery】鼠标经过表格行变色 -
cheeruplc:
使用了以上的方式 我用一个for循环多次输出alert 循环 ...
页面跳转 -
xbm376:
谢谢分享!
Gponit和GLatLng的区别 -
baiyejianxin:
king130520 写道 MXML是FLEX中的标记语言,与 ...
FLEX -
king130520:
...
FLEX
1:
对项目添加引用,Microsoft Word 11.0 Object Library
2:
在程序中添加 using Word = Microsoft.Office.Interop.Word;
3:
程序中添加
Word.Application app = new Microsoft.Office.Interop.Word.Application(); //可以打开word程序
Word.Document doc = null; //一会要记录word打开的文档
word文档和word程序可不是一回事奥!
4:
一般来说,对于抽取word内容,用的方法很少
public override void openFile(object fileName){} //打开文档
public override object readPar(int i){} //读取word文档的第i段
public override int getParCount(){} //返回word文档一共几段
public override void closeFile(){} //关闭文档
public override void quit(){} //关闭word程序
//从网页上拷贝的目录有时候会出现手动换行符^l,,先将其换成回车段落标记,才能正确读取
public void replaceChar(){}
5:代码
public override void openFile(object fileName)
{
try
{
if (app.Documents.Count > 0)
{
if (MessageBox.Show("已经打开了一个word文档,你想关闭重新打开该文档吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
object unknow = Type.Missing;
doc = app.ActiveDocument;
if (MessageBox.Show("你想保存吗?", "保存", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
app.ActiveDocument.Save();
}
app.ActiveDocument.Close(ref unknow, ref unknow, ref unknow);
app.Visible = false;
}
else
{
return;
}
}
}
catch (Exception)
{
//MessageBox.Show("您可能关闭了文档");
app = new Microsoft.Office.Interop.Word.Application();
}
try
{
object unknow = Type.Missing;
app.Visible = true;
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);
}
catch (Exception ex)
{
MessageBox.Show("出现错误:" + ex.ToString());
}
}
public override object readPar(int i)
{
try
{
string temp = doc.Paragraphs[i].Range.Text.Trim();
return temp;
}
catch (Exception e) {
MessageBox.Show("Error:"+e.ToString());
return null;
}
}
public override int getParCount()
{
return doc.Paragraphs.Count;
}
public override void closeFile()
{
try
{
object unknow = Type.Missing;
object saveChanges = Word.WdSaveOptions.wdPromptToSaveChanges;
app.ActiveDocument.Close(ref saveChanges, ref unknow, ref unknow);
}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex.ToString());
}
}
public override void quit()
{
try
{
object unknow = Type.Missing;
object saveChanges = Word.WdSaveOptions.wdSaveChanges;
app.Quit(ref saveChanges, ref unknow, ref unknow);
}
catch (Exception)
{
}
}
public void replaceChar() {
try
{
object replaceAll = Word.WdReplace.wdReplaceAll;
object missing = Type.Missing;
app.Selection.Find.ClearFormatting();
app.Selection.Find.Text = "^l";
app.Selection.Find.Replacement.ClearFormatting();
app.Selection.Find.Replacement.Text = "^p";
app.Selection.Find.Execute(
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}
catch (Exception e)
{
MessageBox.Show("文档出现错误,请重新操作");
}
}
6:
刚才是用读取一段做的例子,如果要读取一句或一篇只需要把doc.Paragraphs[i](readPar中)改成doc.Sentences[i]或doc.content即可,因为都是微软的东东,所以用起来没有一点的障碍,再加上现在的vs2005做的很智能,所以先从java转到了c#上
7:
实际上,c#中读取word是不用那么麻烦的,但是如果考虑到可能还要抽取txt,ppt等多种格式,所以就写了一个抽象类,调用起来也方便,这就是为什么我的程序方法开头会有override的原因,总要考虑到通用,所以多了一些代码。
对项目添加引用,Microsoft Word 11.0 Object Library
2:
在程序中添加 using Word = Microsoft.Office.Interop.Word;
3:
程序中添加
Word.Application app = new Microsoft.Office.Interop.Word.Application(); //可以打开word程序
Word.Document doc = null; //一会要记录word打开的文档
word文档和word程序可不是一回事奥!
4:
一般来说,对于抽取word内容,用的方法很少
public override void openFile(object fileName){} //打开文档
public override object readPar(int i){} //读取word文档的第i段
public override int getParCount(){} //返回word文档一共几段
public override void closeFile(){} //关闭文档
public override void quit(){} //关闭word程序
//从网页上拷贝的目录有时候会出现手动换行符^l,,先将其换成回车段落标记,才能正确读取
public void replaceChar(){}
5:代码
public override void openFile(object fileName)
{
try
{
if (app.Documents.Count > 0)
{
if (MessageBox.Show("已经打开了一个word文档,你想关闭重新打开该文档吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
object unknow = Type.Missing;
doc = app.ActiveDocument;
if (MessageBox.Show("你想保存吗?", "保存", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
app.ActiveDocument.Save();
}
app.ActiveDocument.Close(ref unknow, ref unknow, ref unknow);
app.Visible = false;
}
else
{
return;
}
}
}
catch (Exception)
{
//MessageBox.Show("您可能关闭了文档");
app = new Microsoft.Office.Interop.Word.Application();
}
try
{
object unknow = Type.Missing;
app.Visible = true;
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);
}
catch (Exception ex)
{
MessageBox.Show("出现错误:" + ex.ToString());
}
}
public override object readPar(int i)
{
try
{
string temp = doc.Paragraphs[i].Range.Text.Trim();
return temp;
}
catch (Exception e) {
MessageBox.Show("Error:"+e.ToString());
return null;
}
}
public override int getParCount()
{
return doc.Paragraphs.Count;
}
public override void closeFile()
{
try
{
object unknow = Type.Missing;
object saveChanges = Word.WdSaveOptions.wdPromptToSaveChanges;
app.ActiveDocument.Close(ref saveChanges, ref unknow, ref unknow);
}
catch (Exception ex)
{
MessageBox.Show("Error:" + ex.ToString());
}
}
public override void quit()
{
try
{
object unknow = Type.Missing;
object saveChanges = Word.WdSaveOptions.wdSaveChanges;
app.Quit(ref saveChanges, ref unknow, ref unknow);
}
catch (Exception)
{
}
}
public void replaceChar() {
try
{
object replaceAll = Word.WdReplace.wdReplaceAll;
object missing = Type.Missing;
app.Selection.Find.ClearFormatting();
app.Selection.Find.Text = "^l";
app.Selection.Find.Replacement.ClearFormatting();
app.Selection.Find.Replacement.Text = "^p";
app.Selection.Find.Execute(
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
}
catch (Exception e)
{
MessageBox.Show("文档出现错误,请重新操作");
}
}
6:
刚才是用读取一段做的例子,如果要读取一句或一篇只需要把doc.Paragraphs[i](readPar中)改成doc.Sentences[i]或doc.content即可,因为都是微软的东东,所以用起来没有一点的障碍,再加上现在的vs2005做的很智能,所以先从java转到了c#上
7:
实际上,c#中读取word是不用那么麻烦的,但是如果考虑到可能还要抽取txt,ppt等多种格式,所以就写了一个抽象类,调用起来也方便,这就是为什么我的程序方法开头会有override的原因,总要考虑到通用,所以多了一些代码。
发表评论
-
ASP.NET基础知识(二)
2011-06-28 15:03 1015RadioButton控件会在客户端渲染成<inpu ... -
ASP.NET基础知识(一)
2011-06-28 15:02 1203转载:http://www.cnblogs.com/fanyo ... -
QQ截图
2011-06-26 12:27 972转自:http://www.cnblogs.com/mengd ... -
泛型类型参数的约束
2011-03-25 17:10 747class MyClass<T1,T2,T3> ... -
类的索引
2011-03-23 17:14 606声明索引类似于声明属性,只有get访问器与set访问器。 ... -
抽象类
2011-03-23 16:57 597抽象类只能被用来当作其他类的基类。 不能创建抽象类的实例。 ... -
一道面试题
2011-03-23 16:32 702using System; class A { pub ... -
类和继承
2011-03-23 11:20 662public class MyBaseClass ... -
访问修饰符
2011-03-23 10:37 7041.类的访问修饰符 类的访问修饰符有两个级别:publi ... -
c#读写XML文件
2009-06-24 10:38 1844一.前言: XML是微软.N ... -
asp.net上传文件
2009-03-18 09:39 1397#region 上传文件的方法 /// <sum ... -
页面跳转
2009-03-17 10:00 963在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们 ... -
使用RichTextBox的一点心得
2009-03-17 09:51 2788最近开发一个控件,主要是对RichTextBox进行操作,实现 ... -
使用C#玩转WORD
2009-03-16 15:37 2264我们都知道,Office是基于COM组件技术开发的,属于非托管 ... -
c# 读取word文件文本内容
2009-03-16 13:52 2859添加morcosoft word 12.0 object Li ... -
c# FileStream和StreamWriter用法
2009-03-13 14:02 3086FielStream類操作的是字節和節節數組,而stream類 ... -
.net常用的功能和代码
2009-03-13 12:58 9811. 打开新的窗口并传送参数: 传送参数: response ...
相关推荐
C#读取word文档实例浅析是在C#编程操作Word遇到问题的解决技巧。
C# 读取word文档和图片,有需求的下载
C#操作word文档 C#实现Word中表格信息读取
可以借助这个类库文件轻松读取Word资料
C#读取Word内容 源码 C#读取Word内容 源码 C#读取Word内容 源码 C#读取Word内容 源码 C#读取Word内容 源码
这是用C#来读取WORD中的内容的可用程序
c#打开word文档及读取word文档
C# 读取word 全文内容,实用性强的Office操作
平时学习时注意做笔记,赫赫,上传上来跟大家分享!内容概要:1、运用 Range 对象处理 Word 文档内容;2、如何使用C#在Word文档中插入图片以及读取Word文档中的图片?3、提取word 文档中的...6、C#读取Word文档的详细例子
c#实现word文件读取,并实现文本内容检索,结合NLP技术将文本进行句子划分
本程序可读取word文档内容、创建新word文档
可以完整的读取word文件Excel文件PDF文件Txt文件,以文本的形式读出来,简单易懂
c#用aspose.word读取word文件内容,并显示图片
如何用C#去读取word文档的内容,一个简单的方法,适用于ASPX网页设计。
C#代码启动word软件读取word文档全文,并另存为HTML文件格式,最后关闭软件。
一个项目中的代码 c#读取Word文档 可以直接使用的。 重新修改
NPOI开发包及教程,解压打开.使用C#窗体编程实现读取EXCEL,word,pdf等文件内容
C#操作Word文档(根据模板生成文档、替换内容、插入表格等)
C#得到word里面的书签,并向书签插入内容,将DateGridView内容作为表格插入到word书签中。