温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#运用DocX操作文档

发布时间:2020-07-27 08:03:36 来源:网络 阅读:916 作者:彭泽0902 栏目:编程语言

  在项目开发中,一般需要对文档进行操作,但是使用微软提供的插件,需要安装一些程序,并且如果使用wps类的文档软件就无法操作了,第三方插件DocX就可以很好的解决这些文档,结合官方提供的文档,稍作修改,总结如下的一些方法:

    1.创建一个具有超链接、图像和表的文档:

        /// <summary>         /// 创建一个具有超链接、图像和表的文档。         /// </summary>         /// <param name="path">文档保存路径</param>         /// <param name="p_w_picpathPath">加载的图片路径</param>         public static void HyperlinksImagesTables(string path, string p_w_picpathPath)         {             // 创建一个文档             using (var document = DocX.Create(path))             {                 // 在文档中添加超链接。                 var link = document.AddHyperlink("link", new Uri("http://www.google.com"));                 // 在文档中添加一个表。                 var table = document.AddTable(2, 2);                 table.Design = TableDesign.ColorfulGridAccent2;                 table.Alignment = Alignment.center;                 table.Rows[0].Cells[0].Paragraphs[0].Append("1");                 table.Rows[0].Cells[1].Paragraphs[0].Append("2");                 table.Rows[1].Cells[0].Paragraphs[0].Append("3");                 table.Rows[1].Cells[1].Paragraphs[0].Append("4");                 var newRow = table.InsertRow(table.Rows[1]);                 newRow.ReplaceText("4", "5");                 // 将图像添加到文档中。                     var p_w_picpath = document.AddImage(p_w_picpathPath);                 //创建一个图片(一个自定义视图的图像)。                 var picture = p_w_picpath.CreatePicture();                 picture.Rotation = 10;                 picture.SetPictureShape(BasicShapes.cube);                 // 在文档中插入一个新段落。                 var title = document.InsertParagraph().Append("Test").FontSize(20).Font(new FontFamily("Comic Sans MS"));                 title.Alignment = Alignment.center;                 // 在文档中插入一个新段落。                 var p1 = document.InsertParagraph();                 // 附加内容到段落                 p1.AppendLine("This line contains a ").Append("bold").Bold().Append(" word.");                 p1.AppendLine("Here is a cool ").AppendHyperlink(link).Append(".");                 p1.AppendLine();                 p1.AppendLine("Check out this picture ").AppendPicture(picture).Append(" its funky don't you think?");                 p1.AppendLine();                 p1.AppendLine("Can you check this Table of figures for me?");                 p1.AppendLine();                 // 在第1段后插入表格。                 p1.InsertTableAfterSelf(table);                 // 在文档中插入一个新段落。                 Paragraph p2 = document.InsertParagraph();                 // 附加内容到段落。                 p2.AppendLine("Is it correct?");                 // 保存当前文档                 document.Save();             }         }

2.设置文档的标题和页脚:

        /// <summary>         /// 设置文档的标题和页脚         /// </summary>         /// <param name="path">文档的路径</param>         public static bool HeadersAndFooters(string path)         {             try             {                 // 创建新文档                 using (var document = DocX.Create(path))                 {                     // 这个文档添加页眉和页脚。                     document.AddHeaders();                     document.AddFooters();                     // 强制第一个页面有一个不同的头和脚。                     document.DifferentFirstPage = true;                     // 奇偶页页眉页脚不同                     document.DifferentOddAndEvenPages = true;                     // 获取本文档的第一个、奇数和甚至是头文件。                     Header headerFirst = document.Headers.first;                     Header headerOdd = document.Headers.odd;                     Header headerEven = document.Headers.even;                     // 获取此文档的第一个、奇数和甚至脚注。                     Footer footerFirst = document.Footers.first;                     Footer footerOdd = document.Footers.odd;                     Footer footerEven = document.Footers.even;                     // 将一段插入到第一个头。                     Paragraph p0 = headerFirst.InsertParagraph();                     p0.Append("Hello First Header.").Bold();                     // 在奇数头中插入一个段落。                     Paragraph p1 = headerOdd.InsertParagraph();                     p1.Append("Hello Odd Header.").Bold();                     // 插入一个段落到偶数头中。                     Paragraph p2 = headerEven.InsertParagraph();                     p2.Append("Hello Even Header.").Bold();                     // 将一段插入到第一个脚注中。                     Paragraph p3 = footerFirst.InsertParagraph();                     p3.Append("Hello First Footer.").Bold();                     // 在奇数脚注中插入一个段落。                     Paragraph p4 = footerOdd.InsertParagraph();                     p4.Append("Hello Odd Footer.").Bold();                     // 插入一个段落到偶数头中。                     Paragraph p5 = footerEven.InsertParagraph();                     p5.Append("Hello Even Footer.").Bold();                     // 在文档中插入一个段落。                     Paragraph p6 = document.InsertParagraph();                     p6.AppendLine("Hello First page.");                     // 创建一个第二个页面,显示第一个页面有自己的头和脚。                     p6.InsertPageBreakAfterSelf();                     // 在页面中断后插入一段。                     Paragraph p7 = document.InsertParagraph();                     p7.AppendLine("Hello Second page.");                     // 创建三分之一页面显示,奇偶页不同的页眉和页脚。                     p7.InsertPageBreakAfterSelf();                     // 在页面中断后插入一段。                     Paragraph p8 = document.InsertParagraph();                     p8.AppendLine("Hello Third page.");                     // 将属性保存入文档                     document.Save();                     return true;                 }             }             catch (Exception ex)             {                 throw new Exception(ex.Message);             }             //从内存中释放此文档。         }


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI