C#microsoft word操作

时间:2010-09-10 17:56:07

标签: c#

我已经添加了microsoft引用。但基本上我想要做的是读取整个文档并逐行进行,如果该行包含$,则基于$进行拆分并执行一些简单的int。

在大多数情况下,我希望在保持文档正确格式化的同时执行此操作。或者只是简单地说我想要做

string myworddoc = File.ReadAllLines(@"C:\doc.docx");
foreach(string myword in myworddoc)

但我如何使用word文档?

3 个答案:

答案 0 :(得分:1)

我有点不清楚你要在这里完成什么,但操纵Word文档并不可怕。你有两种方法可以去。

首先是使用Word互操作来操作文档。 Word interop打开一个MS Word实例,并为您公开一个对象模型来操作文档本身。这是一种痛苦,但有时这是你必须要做的。这是一个例子:

ApplicationClass ap = new ApplicationClass();
Document doc = ap.Documents.Open(@"C:\doc.docx");

从这里,您可以使用doc对象访问Contents属性。那会给你像Text和Find这样的东西。

就个人而言,我觉得Interop很麻烦。幸运的是,看起来你正在使用2007或更高版本,并且你的文档是使用OpenXML格式化的(.docx扩展名表明这一点)。在这种情况下,您可以使用Open XML SDK(Microsoft的downloadable)来处理Word文档。这允许您在不启动MS Word过程的情况下操作事物。这是一个示例(请注意,我在这里使用了许多不同的命名空间 - 主要是DocumentFormat.OpenXml.Packaging和DocumentFormat.OpenXml.Wordprocessing)。

WordprocessingDocument doc = WordprocessingDocument.Open(@"C:\doc.docx", false);
foreach(Text textsection in doc.MainDocumentPart.Document.Descendants<Text>())
{
    // do something here
}

答案 1 :(得分:0)

您可以使用对象库,因为doc文件包含额外的标题.....

试试这个链接: http://www.c-sharpcorner.com/UploadFile/Globalking/fileAccessingusingcsharp02242006050207AM/fileAccessingusingcsharp.aspx

答案 2 :(得分:0)

您似乎正在使用Microsoft Office 2007或更高版本。 这意味着您可以使用OpenXML轻松完成。

Visit this Page

Manipulating Word 2007 Files with OpenXML

相关问题