- 浏览: 114499 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 1053RadioButton控件会在客户端渲染成<inpu ... -
ASP.NET基础知识(一)
2011-06-28 15:02 1215转载:http://www.cnblogs.com/fanyo ... -
QQ截图
2011-06-26 12:27 1007转自:http://www.cnblogs.com/mengd ... -
泛型类型参数的约束
2011-03-25 17:10 787class MyClass<T1,T2,T3> ... -
类的索引
2011-03-23 17:14 631声明索引类似于声明属性,只有get访问器与set访问器。 ... -
抽象类
2011-03-23 16:57 623抽象类只能被用来当作其他类的基类。 不能创建抽象类的实例。 ... -
一道面试题
2011-03-23 16:32 728using System; class A { pub ... -
类和继承
2011-03-23 11:20 690public class MyBaseClass ... -
访问修饰符
2011-03-23 10:37 7331.类的访问修饰符 类的访问修饰符有两个级别:publi ... -
c#读写XML文件
2009-06-24 10:38 1896一.前言: XML是微软.N ... -
asp.net上传文件
2009-03-18 09:39 1423#region 上传文件的方法 /// <sum ... -
页面跳转
2009-03-17 10:00 994在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们 ... -
使用RichTextBox的一点心得
2009-03-17 09:51 2821最近开发一个控件,主要是对RichTextBox进行操作,实现 ... -
使用C#玩转WORD
2009-03-16 15:37 2289我们都知道,Office是基于COM组件技术开发的,属于非托管 ... -
c# 读取word文件文本内容
2009-03-16 13:52 2895添加morcosoft word 12.0 object Li ... -
c# FileStream和StreamWriter用法
2009-03-13 14:02 3115FielStream類操作的是字節和節節數組,而stream類 ... -
.net常用的功能和代码
2009-03-13 12:58 10141. 打开新的窗口并传送参数: 传送参数: response ...
相关推荐
在实现C#读取Word文档时,需要使用FileStream对象来读取文本文件里的信息,但是对于Word文档来说就不能使用这样的方法了。因为Word文档是一个二进制文件,包含了许多格式和样式信息,无法使用FileStream对象来读取。...
一、C#读取Word文档 1. **使用Microsoft.Office.Interop.Word** 微软提供的COM互操作库允许C#代码与Office应用程序进行交互。首先,你需要在项目中引用`Microsoft.Office.Interop.Word`库。然后,你可以创建一个...
根据提供的文件信息,我们可以归纳出两个主要的知识点:一是如何使用C#操作Word文档并插入图片;二是如何利用C#批量替换Word文档中的书签文本。下面将对这两个知识点进行详细解析。 ### 一、使用C#操作Word文档并...
总结来说,C#读取Word内容主要通过两种方式:一是使用Microsoft.Office.Interop.Word库,二是利用OpenXML SDK。两者各有优缺点,开发者应根据实际需求选择合适的方法。在项目开发过程中,确保正确处理异常,避免资源...
根据给定的文件信息,以下是对“C#读取...通过上述知识点的解析,我们可以清晰地了解到如何使用C#读取Word文档的内容并将其展示在Web页面上。这不仅有助于理解和掌握相关的编程技巧,也为实际项目开发提供了参考案例。
可以借助这个类库文件轻松读取Word资料
总的来说,C#读取Word文档的全文内容是一项基础但实用的技能,它在数据分析、文档处理、自动化办公等多个领域都有广泛的应用。通过熟练掌握这一技术,开发者可以更高效地处理与Word文档相关的任务。
以下是一些关于如何使用C#打开和读取Word文档的重要知识点: 1. **安装必要的引用**:首先,你需要在你的C#项目中添加对`Microsoft.Office.Interop.Word`的引用。在Visual Studio中,右键点击项目,选择“管理NuGet...
以下是如何使用C#读取Word文档内容的详细步骤和相关知识点: 首先,你需要在你的项目中添加对Microsoft Word 11.0 Object Library的引用。这是Office Interop库的一部分,它提供了对Word对象模型的访问。你可以通过...
本主题聚焦于如何使用C#来读取Word文件并实现文本内容的检索,结合自然语言处理(NLP)技术,使得用户可以对文档中的单词进行索引和显示。以下是对这个知识点的详细讲解: 首先,为了读取Word文件,我们需要利用...
一、读取Word文档内容 在C#中,可以借助Microsoft.Office.Interop.Word库来实现与Word的交互。这个库是.NET框架的一部分,允许开发者直接操作Word对象模型。以下是一个简单的步骤: 1. 引用库:首先,需要在项目中...
在IT行业中,编程语言C#提供了丰富的库和方法来处理各种类型的文件,包括Word文档、Excel电子表格、PDF文档和纯文本文件。本教程将详细阐述如何使用C#有效地读取这些不同格式的文件。 首先,让我们从读取Word文件...
### C#读取Word文档并转换为HTML格式 在日常工作中,我们经常需要处理各种文档格式的转换,尤其是在Web开发领域,将Word文档转换成HTML格式可以方便地嵌入到网页中展示。本文将详细介绍如何使用C#语言来实现这一...
在探讨如何利用C#结合Aspose.Word库读取Word文档内容并显示其中的图片之前,我们首先需要了解几个关键的概念和技术点。 ### Aspose.Word 库简介 Aspose.Words 是一个强大的.NET类库,用于在服务器端处理Microsoft ...
以上就是C#操作Word文档的一些核心知识点和常见操作,通过这些方法可以实现对Word文档的读取、编辑和创建。在实际开发中,根据具体需求,还可以结合其他高级特性,如模板应用、邮件合并、宏执行等。
首先,要实现C#读取Word文件,我们可以利用Microsoft Office Interop库,这是一个允许C#与Office应用程序进行交互的COM接口。在VS2008中,你需要确保已安装了Microsoft Office,并且在项目中添加对Microsoft.Office....
下面是一个简单的示例,展示了如何使用C#读取.docx文件中的文本: ```csharp using System.IO; using System.IO.Compression; public string ExtractTextFromDocx(string filePath) { using (var archive = ...
总的来说,C#读取加密Word文档的关键在于使用正确的库(如Office Interop或Open XML SDK),提供正确的密码,并确保正确地管理和关闭资源。在VS2013中,你可以结合这些工具和方法来实现所需的功能。