用OpenXml在文档的尾部添加一个Rich Text Content Control/Plain Text Content Contr
实现环境: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;
else
objText.Text = "<Null>";
objRun.Append(objText);
补充:Web开发 , ASP.Net ,