Aspose.Words模板创建Word【三】

概要
利用Aspose.words插件,给word文档表格动态批量添加行数据,这种方式和上一篇有点区别,
上一篇提到过,仔细想了想还是追加一篇学习记录吧,当写个总结了(注意:实现创建的word
文档,都是事先制作好word模板文件)。

回到正题:
第一步:制作word模板。
这里写图片描述

第二步:代码实现创建新的word文档。

class Program
{
    static void Main(string[] args)
    {
        string templatePath = @"C:\Users\JeterJing\Desktop\Aspose.Words\template\template1.docx";
        string targetPath = @"C:\Users\JeterJing\Desktop\Aspose.Words\create-example\" + Guid.NewGuid().ToString() + ".docx";
        string message = string.Empty;
        FillWordTableRowData(templatePath, targetPath);
        Console.WriteLine("创建成功!请按照任意键结束。");
        Console.ReadKey(true);
    }

    /// <summary>
    /// 动态填充表格数据
    /// </summary>
    /// <param name="templatePath"></param>
    /// <param name="targetPath"></param>
    private static void FillWordTableRowData(string templatePath, string targetPath)
    {
        Document doc = new Document(templatePath);
        DocumentBuilder builder = new DocumentBuilder(doc);
        //获取表格节点集合
        NodeCollection tables = doc.GetChildNodes(NodeType.Table, true);
        //拿到第一个表格:tableindex=0
        Table table = tables[0] as Table;
        //拿到第三行的row模板:rowindex=2
        var roww = table.Rows[2];
        #region 动态添加表格中的数据
        for (int i = 0; i < 3; i++)
        {
            #region 第一种方式填充数据
            //复制第3行
            var row = roww.Clone(true);
            //将复制的行插入当前行的上方
            table.Rows.Insert(2 + i, row);

            //光标移动到:第一个表格的,第3行的第1列的格子里,即:资质编号
            builder.MoveToCell(0, 2 + i, 0, 0);
            //给资质编号单元格填充内容
            builder.Write("A001");

            //给资质名称单元格填充内容
            builder.MoveToCell(0, 2 + i, 1, 0);
            builder.Write("临床技术资质");

            //给科室审核填充内容
            builder.MoveToCell(0, 2 + i, 2, 0);
            builder.Write("已审核");

            //给院级审核填充内容
            builder.MoveToCell(0, 2 + i, 3, 0);
            builder.Write("已审核");

            //给发放日期填充内容
            builder.MoveToCell(0, 2 + i, 4, 0);
            builder.Write(DateTime.Now.ToString("yyyy-MM-dd"));
            #endregion
        }
        #endregion
        doc.Save(targetPath, SaveFormat.Docx);
    }
}

第三步:运行项目查看结果。
这里写图片描述

第四步:查看新生成的word情况。
这里写图片描述

总结:
这里两篇都提到了,动态word文档中批量填充表格中的行数据。
(1)代码方式有所不同。
(2)模板的样式也有区别。
Aspose.Words模板创建Word【二】

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值