咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

Word结构

Word2007版本以前word后缀为.doc,word2007以后word后缀为 .docx,

.doc是使用二进制格式存储word文档。

.docx使用xml格式存储word文档,可操作性更快、更高效。


通过office2007, 微软通过采用可以被word, excel, ppt使用的XML文档格式的方式,, 因为这些文档格式提供了在服务器端读写, 生成word, excel, ppt文档的能力, 而不需要web服务器运行客户端的应用程序。

XML文档格式是基于标准ZIP技术之上的. 任何一个顶层水平的文档都被存储为一个ZIP压缩包, 这意味着你可以像打开其他ZIP文件一样来打开Word文档, 然后使用内嵌入Windows Exlorer中的ZIP文件的支持能力来窥探一下文档的内部结构。


文件名为HelloWord.docx, 然后关闭Word. 下一步, 使用Windows Explorer在文件系统中找到Hello.docx. 把它重命名为Hello.zip. 这使得Windows Explorer可以把这个文件识别为ZIP包. 你现在可以打开Hello.zip包了, 然后可以看到有Word创建的文件和文件夹结构. 如下图1-1:

图1-1


XML文档格式的文件中涉及到的一些基本概念和术语. 顶级的文件(比如HelloWord.docx)被叫做package(包). 因为包(package)是被实现为一个标准ZIP包的, 它自动地提供了对文档的压缩, 还有供Windows平台和非Windows平台的工具程序和API即时地读取文档中内容的能力。

XML文档格式使用relationships来定义一个源part和一个目标part之间的关系relationship。

图1-2


Xml生成第一个.docx文件


private void TestSimpleWord()

{

string fileName = @"HelloWord.docx";

using (WordprocessingDocument wd = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document))

{

var mainDocx = wd.AddMainDocumentPart();


var docx = new DocumentFormat.OpenXml.Wordprocessing.Document();

mainDocx.Document = docx;

var body = mainDocx.Document.AppendChild(new DocumentFormat.OpenXml.Wordprocessing.Body());


WordBodyContent.AppendText(body, "测试生成第一个带有文字的.docx文档");


Process.Start(fileName);

}

}


public static void AppendText(DocumentFormat.OpenXml.Wordprocessing.Body body, string text)

{

Paragraph paragraph = new Paragraph();

Run run = new Run();

run.Append(new Text(text));

paragraph.Append(run);

body.Append(paragraph);


}

寄语:业精于嬉荒于勤,每天进步一点点。