Aspose.Word 操作word表格的行 插入行 添加行

时间:2022-10-25 08:48:13

rows.insert或rows.add前row必须有单元格cell

private void button3_Click(object sender, EventArgs e)

{
            object savePathWord ="row.docx";
            File.Copy("rowtemplate.docx", savePathWord.ToString(),true);

Aspose.Words.Document doc = new Aspose.Words.Document(savePathWord.ToString());
            Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);

NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true); //拿到所有表格
            Aspose.Words.Tables.Table table = allTables[1] as Aspose.Words.Tables.Table; //拿到第二个表格

var row=CreateRow(3,(new string[]{"1","2","3"}),doc); //创建一行
            table.Rows.Insert(1,row); //将此行插入第一行的上方

Aspose.Words.Tables.Row r2 = new Aspose.Words.Tables.Row(doc);
            Aspose.Words.Tables.Cell c21 = new Aspose.Words.Tables.Cell(doc);
            Aspose.Words.Tables.Cell c22 = new Aspose.Words.Tables.Cell(doc);
            Aspose.Words.Tables.Cell c23 = new Aspose.Words.Tables.Cell(doc);            
            Aspose.Words.Paragraph p = new Paragraph(doc);
            p.AppendChild(new Run(doc, "测试"));
            c21.AppendChild(p);
            r2.Cells.Add(c21);
            r2.Cells.Add(c22);
            r2.Cells.Add(c23);
            table.Rows.Add(r2); //添加一行

doc.Save(savePathWord.ToString());
            MessageBox.Show("ok");

}

Aspose.Words.Tables.Cell CreateCell(string value,Document doc)
        {
            Aspose.Words.Tables.Cell c1 = new Aspose.Words.Tables.Cell(doc);
            Aspose.Words.Paragraph p = new Paragraph(doc);
            p.AppendChild(new Run(doc,value));
            c1.AppendChild(p);
            return c1;
        }

Aspose.Words.Tables.Row CreateRow(int columnCount,string[] columnValues,Document doc)
        {
            Aspose.Words.Tables.Row r2 = new Aspose.Words.Tables.Row(doc);
            for (int i = 0; i < columnCount; i++)
            {
                if (columnValues.Length >i)
                {
                    var cell = CreateCell(columnValues[i], doc);
                    r2.Cells.Add(cell);
                }
                else
                {
                    var cell = CreateCell("", doc);
                    r2.Cells.Add(cell);
                }
                
            }
            return r2;

}

Aspose.Word 操作word表格的行 插入行 添加行

版权声明:本文为博主原创文章,未经博主允许不得转载。

Aspose.Word 操作word表格的行 插入行 添加行的更多相关文章

  1. Aspose&period;Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  2. Aspose&period;Word 操作word复杂表格 拆分单元格 复制行 插入行 文字颜色

    private void button3_Click(object sender, EventArgs e)         {             object savePathWord =&q ...

  3. C&num;使用Aspose&period;Words操作word文档

    最近接到个需求,由于客服这边要导出大量有一定规则的word文件,里面的内容希望系统自动填充,例如 这里我使用Aspose.Words.dll这个类库, 1.首先,我们需要创建模板文件,毕竟有规则的东西 ...

  4. 在word中的表格指定位置插入一行

    //创建一个Document类对象,并加载Word文档 Document doc = new Document(); doc.LoadFromFile(@"C:\Users\Administ ...

  5. Aspose&period;Words操作Word&period;PDF&comma;让图片和文本垂直居中&comma;水平居中解决方案

    x 环境 { "Aspose.Words": {"Version":"18.x"} } 需求与难题 生成试卷的时候,如果数学题目中有特殊符号 ...

  6. java使用poi操作word&comma; 支持动态的行&lpar;一个占位符插入多条&rpar;和表格中动态行&comma; 支持图片

    依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifa ...

  7. C&num; 操作Word文本框——插入表格&sol;读取表格&sol;删除表格

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

  8. Java 操作Word表格——创建嵌套表格、添加&sol;复制表格行或列、设置表格是否禁止跨页断行

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  9. C&num;操作word模板插入文字、图片及表格详细步骤

    c#操作word模板插入文字.图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置 2.建立web应用程序 加入Microsoft.Office.Interop.W ...

随机推荐

  1. file&lowbar;get&lowbar;contents&lpar;&rpar;&sol;file&lowbar;put&lowbar;contents&lpar;&rpar;

    PHP file_get_contents() 函数 定义和用法 file_get_contents() 把整个文件读入一个字符串中. 该函数是用于把文件的内容读入到一个字符串中的首选方法.如果服务器 ...

  2. 360等杀掉了app的主进程后 ,如何自动开启 如何防止被kill

    如何阻止360等进程查杀工具停止App后台进程安全软件优化内存时需要关闭没用的进程既然你同意使用360,,也允许了360的最高权限..那么他就有足够的权限来杀掉app后台进程. 一 如何保证app进程 ...

  3. iOS-Debug调试

    转载:http://www.cnblogs.com/Leo_wl/p/4423922.html

  4. Web API路由和动作选择

    前言 本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上.关于路由的总体概述可以参见上一篇教程 http://www.cnblogs.com/aehyo ...

  5. include、include&lowbar;once与require、require&lowbar;once区别

    include与require的区别 include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行. <?php include 'no.p ...

  6. 【转】终于干了点正事。。三天用了三个库opencv、emgu、aforge&period;net&lbrack;2011&period;7&period;30&rsqb;

    原文转自: http://blog.****.net/tutuguaiguai0427/article/details/6646051 这阵子,确切说这几天,还是看了好多东西的.虽然无用功居多. 上篇 ...

  7. matlab 函数的编写与调用

    matlab中写个函数,在主程序中调用该函数的方法 跟其它的编程语言都一样,但是子函数与主函数要存于不同的文件中,文件名就是函数名字.文件必须保存在current directory中,才能调用. 函 ...

  8. 资源 之 4&period;4 Resource通配符路径 ——跟我学spring3

    4.4.1  使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ...

  9. com&period;microsoft&period;sqlserver&period;jdbc&period;SQLServerException&colon; 通过端口 1433 连接到主机 127&period;0&period;0&period;1 的 TCP&sol;IP 连接失败。错误&colon;&OpenCurlyDoubleQuote;Connection refused&colon; connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP&sol;IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”

    检查SQL Server Configuration Manager 确定实例名为"SKYSQLEXPRESS"下的TCP/IP已经开启了: sql2014配置(系统为Window ...

  10. Android(java)学习笔记246:ContentProvider使用之学习ContentProvider(内容提供者)的目的

    1.使用ContentProvider,把应用程序私有的数据暴露给别的应用程序,让别的应用程序完成对自己私有的数据库数据的增删改查的操作. 2.ContentProvider的应用场景: 获取手机系统 ...