C#中关于提取MSword中文本内容的问题!!高手请进?

gyf168 2004-12-27 10:13:42
请问如何用C#在程序中提取msword格式文件中的文本信息?能不能实现?我说用程序的方法实现,如果哪位高人知道,请指教,还有分可给!!项目急!!!!!
...全文
270 点赞 收藏 10
写回复
10 条回复
Sword_liao 2005年06月29日
1。要将专门的word相关组件引用到工程中,这些组件.net自带
2。然后打开word的vba文档,利用帮助文档进行开发
回复 点赞
xiaoWanDou 2005年06月29日
jjw9000(dd) 老大,missing在哪儿定义的呀???
回复 点赞
gyf168 2005年01月12日
up
回复 点赞
jjw9000 2004年12月30日
我做的是网页上的,你要引用和Word相关的dll
回复 点赞
gyf168 2004年12月28日
up
回复 点赞
nga96 2004年12月27日
对,就按楼上的办法,使用WORD控件来实现
回复 点赞
jjw9000 2004年12月27日
#region 从Word中取数据
private void RetrieveWordData(DataRow dataRow)
{
if (dataRow != null)
{
Word.ApplicationClass oWordApp = new Word.ApplicationClass();
Word.Document oWordDoc = null;
object filePath = Request.PhysicalApplicationPath + "ZDD\\" + Convert.ToString(dataRow["WJLJ"]) + ".doc";
if (System.IO.File.Exists(Convert.ToString(filePath)))
{
try
{
object readOnly = false;
object isVisible = true;

oWordDoc = oWordApp.Documents.Open(ref filePath, ref missing,ref readOnly,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing);

Word.Range StartRange = null;
Word.Range EndRange = null;
object StartName;
object EndName;
oWordDoc.Activate();

foreach(Word.Bookmark bmrk in oWordDoc.Bookmarks)
{
StartName = bmrk.Name;
if(Convert.ToString(StartName) == "ZDDBHSTART")
{
EndName = "ZDDBHEND";
StartRange = oWordDoc.Bookmarks.Item(ref StartName).Range;
EndRange = oWordDoc.Bookmarks.Item(ref EndName).Range;
StartRange.SetRange(StartRange.Start,EndRange.Start);
dataRow["ZDDBH"] = StartRange.Text;
}

oWordDoc.Close(ref missing,ref missing,ref missing);
oWordDoc = null;
oWordApp.Application.Quit(ref missing, ref missing, ref missing);
oWordApp = null;
}
catch
{
oWordDoc = null;
oWordApp.Application.Quit(ref missing, ref missing, ref missing);
oWordApp = null;
throw new Exception("读取文件时发生错误!");
}
}
else
{
Response.Write("<script>alert('文件不存在!')</script>");
}
}
}
#endregion 从Word中取数据
回复 点赞
jjw9000 2004年12月27日
可以的,我现在就在做这个,我这里是用书签实现的
回复 点赞
janus1999 2004年12月27日
可以的,我们公司就有一个,不过用C实现的,可以读取WORD中的文本。
回复 点赞
gyf168 2004年12月27日
to:jjw9000(dd)
还是不太明白,本人由于项目需要刚从java转到C#,是一个桌面应用程序,客户要求用C#开发。但我没有在msdn中找到相关的类,Word.ApplicationClass,可能本人太菜,希望大虾指点
能不能把完整代码发到我的信箱里:gaoyf168@163.com,谢了。
TO: janus1999(天生傻冒),希望看看你的C代码。
gaoyf168@163.com,谢了
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告