Как создать файл Word (а также как прочитать содержимое Word документа)
Недавно обратились с пустяковым казалось бы вопросом: как программно работать с документом Word в самом простом режиме. Прочитать содержимое созданного файла. Документация OpenXML Formats SDK хоть и лаконична, но по «программистки» очень суховата. Простых примеров там немного. Вот еще два очень простых примера, опираясь на которые можно будет усложнять алгоритм, и решать реальные задачи:
Как прочитать документ Word:
using System.Linq;
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml.Packaging;
namespace OpenXMLExample
{
class Program
{
static void Main(string[] args)
{
using (WordprocessingDocument doc =WordprocessingDocument.
Open(@"c:\devel\example.docx",false))
{
Table toxmlTable=doc.MainDocumentPart.Document.Body.
Elements<Table>().First();
foreach (TableRow row in toxmlTable.Elements<TableRow>())
{
foreach (TableCell cell in row.Elements<TableCell>())
{
System.Console.WriteLine(cell.InnerText);
}
}
foreach (Paragraph p in doc.MainDocumentPart.Document.Body.
Elements<Paragraph>())
{
System.Console.WriteLine(p.InnerText);
}
}
}
}
}
Как создать простой документ Word
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml;
namespace OpenXMLExample
{
class Program
{
static void Main(string[] args)
{
using (WordprocessingDocument doc = WordprocessingDocument.
Create(@"c:\devel\worddoc.docx",
WordprocessingDocumentType.Document))
{
Paragraph p = new Paragraph(new Run(new Text("hello word")));
doc.AddMainDocumentPart();
doc.MainDocumentPart.Document = new Document();
doc.MainDocumentPart.Document.Body = new Body();
doc.MainDocumentPart.Document.Body.Append(p);
doc.MainDocumentPart.Document.Save();
}
}
}
}
Вот так просто с помощью OpenXML Format SDK можно программно работать с документами Word.
Technorati Tags: OpenXML,Word,MS Word Programming
Comments
Anonymous
November 22, 2010
это же относится только к 2007. или ко всем версиям?Anonymous
November 22, 2010
Файлы создаются и читаются начиная с версии 2007. Именно с этой версии сохранение по умолчанию ведется в формате OpenXML.Anonymous
November 22, 2010
А OpenXML позволяет так же работать с Excel?Anonymous
November 22, 2010
Конечно, с Excel можно работать точно так-же.