zoukankan      html  css  js  c++  java
  • C# 操作Word文本框——插入表格/读取表格/删除表格

    在文本框中,我们可以操作很多元素,如文本、图片、表格等,在本篇文章中将着重介绍如何插入表格到文本框,插入的表格我们可以对表格进行格式化操作来丰富表格内容。此外,对于文本框中的表格内容,我们也可以根据需要来读取表格或者删除表格。

    使用工具

    示例代码

    【示例1】插入表格到文本框

    C#

    using Spire.Doc;
    using Spire.Doc.Documents; 
    using Spire.Doc.Fields;
    
    namespace InsertTableToTextbox_Doc
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                //创建一个Document类对象
                Document document = new Document();
    
                //添加section到文档
                Section section = document.AddSection();
                //添加段落section
                Paragraph paragraph = section.AddParagraph();
    
                //添加指定大小的文本框到段落
                TextBox textbox = paragraph.AppendTextBox(300, 100);
    
                //添加文本到文本,设置文本格式
                Paragraph textboxParagraph = textbox.Body.AddParagraph();
                TextRange textboxRange = textboxParagraph.AppendText("Sample Report 1");
                textboxRange.CharacterFormat.FontName = "Arial";
    
                //插入表格到文本框
                Table table = textbox.Body.AddTable(true);
                //指定表格行数、列数
                table.ResetCells(4, 4);
                //实例化数组内容
                string[,] data = new string[,]  
                {  
                   {"Name","Age","Gender","ID" },  
                   {"John","28","Male","0023" },  
                   {"Steve","30","Male","0024" },  
                   {"Lucy","26","female","0025" }  
                };
    
                //将数组内容添加到表格 
                for (int i = 0; i < 4; i++)
                {
                    for (int j = 0; j < 4; j++)
                    {
                        TextRange tableRange = table[i, j].AddParagraph().AppendText(data[i, j]);
                        tableRange.CharacterFormat.FontName = "Arial";
                    }
                }
    
                //应用表格样式
                table.ApplyStyle(DefaultTableStyle.MediumGrid3Accent1);
    
                //保存并打开文档
                document.SaveToFile("Output.docx", FileFormat.Docx2013);
                System.Diagnostics.Process.Start("Output.docx");
            }
        }
    }

    这里应用表格格式,Spire.Doc 支持多种不同的表格类型,可根据需要自行选择。

    表格添加效果:

    【示例2】读取文本框中的表格

    C#

    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    using System.IO;
    using System.Text;
    
    
    namespace GetTableFromTextbox_Doc
    {
        class Program
        {
            static void Main(string[] args)
            {
                //载入Word文档
                Document document = new Document("Output.docx");
    
                //获取第一个文本框
                TextBox textbox = document.TextBoxes[0];
    
                //获取文本框中第一个表格
                Table table = textbox.Body.Tables[0] as Table;
                //实例化StringBuilder类
                StringBuilder sb = new StringBuilder();
    
                //遍历表格中的段落并提取文本
                foreach (TableRow row in table.Rows)
                {
                    foreach (TableCell cell in row.Cells)
                    {
                        foreach (Paragraph paragraph in cell.Paragraphs)
                        {
                            sb.AppendLine(paragraph.Text);
                        }
                    }
                }
                File.WriteAllText("text.txt", sb.ToString());
            }
        }
    }

    读取结果:

    【示例3】删除Word文本框中的表格

    C#

    using Spire.Doc;
    using Spire.Doc.Fields;
    
    namespace RemoveTableFormTextbox_Doc
    {
        class Program
        {
            static void Main(string[] args)
            {
                //创建Document实例
                Document document = new Document("Output.docx");
    
                //获取第一个文本框
                TextBox textbox = document.TextBoxes[0];
    
                //删除文本框中第一个表格
                textbox.Body.Tables.RemoveAt(0);
    
                //保存文档
                document.SaveToFile("RemoveTable.docx", FileFormat.Docx2013);
                System.Diagnostics.Process.Start("RemoveTable.docx");
            }
        }
    }

    删除效果:

    附:

    除了添加在文本框汇中操作表格以外,我们向文本框中添加图文混排的内容也是比较常见的,不仅仅只是添加简单文本或者图片,一些复杂的格式化的操作也是可以的,具体可以参阅博客“C# 插入排版精良的Word文本框

    以上是本次关于“C# 操作Word 文本框中的表格”的全部内容。如需转载,请注明出处!

    感谢阅读!

  • 相关阅读:
    .NetCore~框架版本号不同引起dotnet不能run它
    Linux~centos上安装.netcore,HelloWorld归来!
    Lind.DDD.Utils.HttpHelper里静态对象引出的Http超时问题
    [置顶] C++ Pirate: Lambda vs Bind
    如何成为CSDN博客专家
    MFC下的日历表
    世界上最便宜的10张防癌处方
    android权限大全
    应用程序管理集
    谢希仁《计算机网络》第五版---第四章
  • 原文地址:https://www.cnblogs.com/Yesi/p/9072177.html
Copyright © 2011-2022 走看看