Как создать файл 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