国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#向Word文檔中添加內容控件的方法示例

2020-01-24 00:51:05
字體:
來源:轉載
供稿:網(wǎng)友

前言

大家應該都知道在MS Word中,我們可以通過內容控件來向word文檔中插入預先定義好的模塊,指定模塊的內容格式(如圖片、日期、列表或格式化的文本等),從而創(chuàng)建一個結構化的word文檔。

下面就來看看如何使用C#給word文檔添加組合框、文本、圖片、日期選取器及下拉列表等內容控件(這里我借助了一個word組件Spire.Doc)。

添加組合框內容控件

組合框用于顯示用戶可以選擇的項目列表。和下拉列表不同的是組合框允許用戶編輯或添加項。

核心代碼如下:

//給段落添加一個內容控件并指定它的SDT type為Combo BoxStructureDocumentTagInline sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.ComboBox;//創(chuàng)建一個Combo Box, 添加選項并把它賦值給內容控件SdtComboBox cb = new SdtComboBox();cb.ListItems.Add(new SdtListItem("Cat"));cb.ListItems.Add(new SdtListItem("Dog"));sd.SDTProperties.ControlProperties = cb; //設置顯示文本TextRange rt = new TextRange(document);rt.Text = cb.ListItems[0].DisplayText;sd.SDTContent.ChildObjects.Add(rt);

添加文本內容控件

純文本控件包含文本,但不能包含其他項,例如表格、圖片或其他內容控件。此外,純文本控件中的所有文本都具有相同的格式。

添加文本內容控件的步驟和添加組合框內容控件類似

核心代碼如下:

paragraph = section.AddParagraph();sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.Text;SdtText text = new SdtText(true);text.IsMultiline = true;sd.SDTProperties.ControlProperties = text;rt = new TextRange(document);rt.Text = "Text";sd.SDTContent.ChildObjects.Add(rt);

添加圖片內容控件

圖片控件用于顯示圖像。我們可以在設計時或運行時指定圖像,用戶也可以單擊此控件以選擇要插入文檔中的圖像。

核心代碼:

paragraph = section.AddParagraph();sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.Picture;DocPicture pic = new DocPicture(document) { Width = 10, Height = 10 };pic.LoadImage(Image.FromFile("C://Icon.jpg"));sd.SDTContent.ChildObjects.Add(pic);

添加日期選取器內容控件

日期選取器提供用于選擇日期的日歷 UI。最終用戶單擊控件中的下拉箭頭時,就會顯示日歷。

核心代碼:

paragraph = section.AddParagraph();sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.DatePicker;SdtDate date = new SdtDate();date.CalendarType = CalendarType.Default;date.DateFormat = "yyyy.MM.dd";date.FullDate = DateTime.Now;sd.SDTProperties.ControlProperties = date;rt = new TextRange(document);rt.Text = "1990.02.08";sd.SDTContent.ChildObjects.Add(rt);

添加下拉列表內容控件

下拉列表顯示了用戶可以選擇的項目列表。和組合框不同的是,下拉列表不允許用戶添加或編輯項。

核心代碼:

paragraph = section.AddParagraph();sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.DropDownList;SdtDropDownList sddl = new SdtDropDownList();sddl.ListItems.Add(new SdtListItem("Harry"));sddl.ListItems.Add(new SdtListItem("Jerry"));sd.SDTProperties.ControlProperties = sddl;rt = new TextRange(document);rt.Text = sddl.ListItems[0].DisplayText;sd.SDTContent.ChildObjects.Add(rt);

全部代碼:

using System;using System.Drawing;using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;namespace Insert_content_control_in_word_document{ class Program {  static void Main(string[] args)  {   //創(chuàng)建一個新的Word文檔   Document document = new Document();   Section section = document.AddSection();   Paragraph paragraph = section.AddParagraph();   //添加組合框內容控件   StructureDocumentTagInline sd = new StructureDocumentTagInline(document);   paragraph.ChildObjects.Add(sd);   sd.SDTProperties.SDTType = SdtType.ComboBox;   SdtComboBox cb = new SdtComboBox();   cb.ListItems.Add(new SdtListItem("Cat"));   cb.ListItems.Add(new SdtListItem("Dog"));   sd.SDTProperties.ControlProperties = cb;   TextRange rt = new TextRange(document);   rt.Text = cb.ListItems[0].DisplayText;   sd.SDTContent.ChildObjects.Add(rt);   //添加文本內容控件   paragraph = section.AddParagraph();   sd = new StructureDocumentTagInline(document);   paragraph.ChildObjects.Add(sd);   sd.SDTProperties.SDTType = SdtType.Text;   SdtText text = new SdtText(true);   text.IsMultiline = true;   sd.SDTProperties.ControlProperties = text;   rt = new TextRange(document);   rt.Text = "Text";   sd.SDTContent.ChildObjects.Add(rt);   //添加圖片內容控件   paragraph = section.AddParagraph();   sd = new StructureDocumentTagInline(document);   paragraph.ChildObjects.Add(sd);   sd.SDTProperties.SDTType = SdtType.Picture;   DocPicture pic = new DocPicture(document) { Width = 10, Height = 10 };   pic.LoadImage(Image.FromFile("C://Icon.jpg"));   sd.SDTContent.ChildObjects.Add(pic);    //添加日期選取器內容控件   paragraph = section.AddParagraph();   sd = new StructureDocumentTagInline(document);   paragraph.ChildObjects.Add(sd);   sd.SDTProperties.SDTType = SdtType.DatePicker;   SdtDate date = new SdtDate();   date.CalendarType = CalendarType.Default;   date.DateFormat = "yyyy.MM.dd";   date.FullDate = DateTime.Now;   sd.SDTProperties.ControlProperties = date;   rt = new TextRange(document);   rt.Text = "1990.02.08";   sd.SDTContent.ChildObjects.Add(rt);    //添加下拉列表內容控件   paragraph = section.AddParagraph();   sd = new StructureDocumentTagInline(document);   paragraph.ChildObjects.Add(sd);   sd.SDTProperties.SDTType = SdtType.DropDownList;   SdtDropDownList sddl = new SdtDropDownList();   sddl.ListItems.Add(new SdtListItem("Harry"));   sddl.ListItems.Add(new SdtListItem("Jerry"));   sd.SDTProperties.ControlProperties = sddl;   rt = new TextRange(document);   rt.Text = sddl.ListItems[0].DisplayText;   sd.SDTContent.ChildObjects.Add(rt);   //保存并重啟文件   string resultfile = "sample.docx";   document.SaveToFile(resultfile, FileFormat.Docx);   System.Diagnostics.Process.Start(resultfile);     } }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孝义市| 贵南县| 咸宁市| 芮城县| 乌兰浩特市| 开封市| 衡山县| 贡山| 松阳县| 资中县| 额济纳旗| 枣强县| 白水县| 尼玛县| 古丈县| 彭泽县| 眉山市| 东乌| 杨浦区| 横山县| 曲靖市| 诏安县| 安康市| 佛山市| 新巴尔虎右旗| 淅川县| 武汉市| 鹿泉市| 玉门市| 和政县| 临沂市| 宣化县| 南昌市| 天峨县| 湘阴县| 长岛县| 改则县| 武威市| 寿宁县| 密云县| 凤阳县|