【问题标题】:Inserting strings into Word document将字符串插入 Word 文档
【发布时间】:2014-04-10 01:54:27
【问题描述】:

在 word 文档中插入大量文本的最佳方法是什么?我有一个包含标题、标题页等的预定义模板,我想在某个点插入文本。你看,我正在为这个文本查询一个数据库。如果我查询数据库然后在书签处插入数据库,它会以相反的顺序插入它。例如,如果我在数据库中查询前两行...

Column A      Column B
Text1         1
Text2         2

它将在书签处出现 Text2 2 Text1 1。我还尝试在文档中查找“变量”(即:#variable)并在每个查询中使用 Find.Replace,然后在末尾添加#variable。我在格式化它时遇到了可怕的麻烦。有什么想法吗?

【问题讨论】:

    标签: c# ms-word


    【解决方案1】:

    我已经写了一些以这种方式执行此操作的东西 - 使用书签 - 但通过反向读取字段来解决反向问题,这意味着文档以正确的顺序出现。

    我并不是说这通常是最好的解决方案,而是说它足够一致,可以以这种方式工作。

    【讨论】:

    • 我做了一些与此非常相似的事情。我需要一个多层次的编号列表,但是在向后进行时没有简单的方法来给它们编号。所以我保留了一个计数并将其添加到文本字符串中。当我把它放在 Word 文档中并应用一种样式时,我得到了疯狂的结果。为了解决这个问题,我必须为我添加的每个项目添加一个书签(可能是一种更简单的方法)。创建了我的项目列表。以相反的顺序阅读。将文本放在我的文档中,添加书签,在新书签中放置文本,添加另一个书签等。它很漂亮。可能不是最有效的方法。
    【解决方案2】:

    您始终可以将结果放入列表中,然后对列表进行排序,而不是直接将其插入。这样您就可以按正确的顺序插入文本。

    如果您希望它按照它在数据库中出现的顺序进行排序,那么您可以通过创建第二个列表对其进行排序,然后从列表 1 的末尾开始将每个项目放入列表 2。这样您将颠倒顺序。

    看起来像这样:

    for (int i = (Results.Count - 1); i >= 0; i--)
    {
        list2.Add(list1.Items[i]);
    }
    

    如果您不能按照第一个答案所说的去做,希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多