尝试了一下微软的Office Open XML,发现功能是挺全面了,很多之前用Word宏实现的自动化操作,可以用Office Open XML实现了,微软的Office总算在开放性方面迈出了一大步。
顺便仔细看了一下docx的实现,这xml可是够复杂的,不知道为什么微软要设计成这样样子:-(。
即使使用Office Open XML,要想插入一个脚注格式,需要增加三层xml elements:
XmlElement element1 = xd1.CreateElement(“w”, “r”, Class1.namespaceURI);
XmlElement element2 = xd1.CreateElement(“w”, “rPr”, Class1.namespaceURI);
XmlElement element3 = xd1.CreateElement(“w”, “vertAlign”, Class1.namespaceURI);
element3.SetAttribute(“val”, Class1.namespaceURI, “superscript”);
element2.AppendChild((XmlNode) element3);
element1.AppendChild((XmlNode) element2);
这三个元素分别是run,就是一段格式一致的文字;rPr是run property,代表这一段文字的格式属性集合;vertAlign就是Vertical Alignment垂直方向的对齐属性。。。
有时间考虑用Linux + Mono处理word文件,就比Windows灵巧的多了。