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

gyf168 2004-12-27 10:13:42
请问如何用C#在程序中提取msword格式文件中的文本信息?能不能实现?我说用程序的方法实现,如果哪位高人知道,请指教,还有分可给!!项目急!!!!!
...全文
319 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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,谢了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧