本文主要是介绍用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实现环境:Visual Studio 2010, OpenXml SDK 2.0
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;namespace OpenXmlWordSdtBlock
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog objOpenFileDialog = new OpenFileDialog();objOpenFileDialog.Filter = "Word Document (*.docx)|*.docx";objOpenFileDialog.ShowDialog();string strPath = objOpenFileDialog.FileName;Form2 objForm2 = new Form2();objForm2.ShowDialog();string strInsertText = objForm2.Msg;if (strPath.Length > 0){try{using (WordprocessingDocument objWordprocessingDocument =WordprocessingDocument.Open(strPath, true)){/** 接下来的代码将获取MainDocumentPart、Document和Body。* 这些是Word文档中已经存在的结构,所以不用New。*/MainDocumentPart objMainDocumentPart = objWordprocessingDocument.MainDocumentPart;Document objDocument = objMainDocumentPart.Document;Body objBody = objDocument.Descendants<Body>().FirstOrDefault();/** 接下来的代码将创建一个新的段落来放Rich Text Content* Control。事实下所有的Content Control在OpenXml 格式中* 都以SdtBlock表示。所以说这是插入一个Plain Text * Content Control也是没错的。*/Paragraph objParagraph_1 = new Paragraph();SdtBlock objSdtBlock = new SdtBlock();SdtContentBlock objSdtContentBlock = new SdtContentBlock();Paragraph objParagraph_2 = new Paragraph();Run objRun = new Run();Text objText = new Text();if (strInsertText.Length > 0)objText.Text = strInsertText;elseobjText.Text = "<Null>";objRun.Append(objText);objParagraph_2.Append(objRun);objSdtContentBlock.Append(objParagraph_2);objSdtBlock.Append(objSdtContentBlock);objParagraph_1.Append(objSdtBlock);objBody.Append(objParagraph_1);objDocument.Save();}}catch (Exception ex){MessageBox.Show(string.Format("Stack:\n{0}\nException:\n{1}", ex.StackTrace, ex.Message), "OpenxXmlWordSdtBlock Exception");}}}}
}
这篇关于用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Control的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!