【问题标题】:How to assign all table properties of table1 to table2 using Novacode DocX?如何使用 Novacode DocX 将 table1 的所有表属性分配给 table2?
【发布时间】:2015-10-01 23:45:57
【问题描述】:

在创建table2 并将其插入table1 之后,您将如何提供文档中存在的另一个表的table2 属性?我所说的属性包括 Keep with next、Keep lines together、Allow rows to break across pages 等。

Novacode.Table table1 = template.Tables[index];
Novacode.Table table2 = table1.InsertTableAfterSelf(1, 2);
//table2.properties = table1.properties

【问题讨论】:

    标签: c# docx novacode-docx


    【解决方案1】:

    我自己还是 Novacode-DocX 的新手,但我相信你可以完成这样的任务

     table2.Design = table1.Design;
    

    这段代码可以编译,但我没有彻底测试它的结果。

    你可以做很多这样的任务,这不是最好的,但这取决于你的需求。 DocX 问题的好地方是discussion board。您可以找到许多对 .dll 文件进行自定义代码修改的帖子,这些修改可能适合未来的需求。

    在使用 DocX 代码库时,一个有用的工具是帮助文档文本。不幸的是,它已经有一段时间没有更新了,但是你仍然可以下载一个旧版本,它具有许多从 here 定义的功能

    希望这能让你继续前进

    祝你有美好的一天,身体健康!

    【讨论】:

    • 我一直在搞乱Design,我似乎无法从现有表中弄清楚它需要什么。它似乎没有占用任何现有属性。如果我这样做table1.Design.ToString(),无论我是否更改属性,它似乎总是 TableGrid。我以前看过网站,但没有那么多讨论。我可能需要检查一下。
    • 我实际上解决了这个问题,通过 doc1 与我需要的那些表上的所有表和属性。然后我从doc1 获取我需要的表并将其插入到它所属的doc2 中。这仅在插入后不向这些表中添加行时才有效,因为新添加的行不会占用其余表的属性。
    • @Phillip 您在寻找什么具体的房产?字体颜色?如果模板表具有一致的颜色,您可以 foreach 循环遍历 table2 中的段落并将文本颜色更改为 table1 的颜色。 foreach (Paragraph p in Table2) { p.Color = Table1.Paragraphs[0].Color; }
    • @Phillip 我很高兴您通过复制表格解决了这个问题,但是您为什么不提到您想要具有相同内容的相同表格?属性是颜色和字体大小之类的东西,通过询问属性意味着您有不同的内容。我认为this 的问题可能会有所帮助
    • 我不想拥有相同的表格,因为我有很多不同类型的表格。此外,我一直在寻找的属性是:与下一个保持一致、将行保持在一起、允许行跨页中断等。更多复杂的属性,而不仅仅是颜色或边框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2015-12-30
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多