在RTF中使用表格

20

我需要在RTF文件中创建一个表格,但我不熟悉RTF。以下是这些RTF文件应该替换的文本文件的示例:

                               GENERAL JOURNAL
                                                                        Page 1

Date     Description                              Post Ref   Debit      Credit  
------------------------------------------------------------------------------
2011
Dec 1    Utilities Expense                          512      250.00
            Cash                                    111                 250.00
               Paid electric bill for November,
               Check No. 1234

    2    Cash                                       111       35.00
            Accounts Receivable / Customer Name     115/√                30.00
            Interest Income                         412                   5.00
               Receipt of payment on account
               from Customer, Check No. 5678

         . . .

表格应该有边框,但我不知道该怎么做。一些单元格需要像这个文件中一样在底部有特殊的边框:

                                 Company Name
                        Schedule of Accounts Receivable
                               December 31, 2011

Name                                                                   Balance
------------------------------------------------------------------------------
Adams, John                                                             354.24
Jefferson, Thomas                                                        58.35
Washington, George                                                      754.58
                                                                      --------
                                                                       1167.17
                                                                      ========

我知道 \cell\row 等命令存在,但是我无法正确地使用它们,因为我找到的文档不够好。请帮忙。


我正在使用C++编程以编写文件(TXT和RTF)。 - ctype.h
1
在这里,您可以找到几个版本的RTF规范的链接。 - Matteo Italia
1
这很有用:RTF表定义。它比我之前使用的更具描述性。 - ctype.h
如何在RTF中使用表格,可以在这里找到详细的描述:http://www.pindari.com/rtf3.html - Igor Borisenko
2个回答

34

这个网站很有用:http://www.pindari.com/rtf3.html

{\rtf1\ansi\deff0
\trowd
\cellx1000
\cellx2000
\cellx3000
\intbl cell 1\cell
\intbl cell 2\cell
\intbl cell 3\cell
\row
} 

这将给出:

---------------------------
|cell 1 | cell 2 | cell 3 |  
---------------------------

一行以\trowd ... \row为分隔符。

每个单元格以\cell结束。

\cellx决定了对应单元格的右边在 twips 中的位置。


4
有趣的事情......请找到并下载Microsoft RTF 1.9.1规范文档,然后将其保存为RTF格式。注意,它们的表格行不是以这种方式开始和结束的。相反,它们都以\ltrrow开头... - MaxOvrdrv
6
RTF表格定义真是个噩梦。我原以为自己已经掌握了它的奥秘,但接下来又遇到了嵌套表格 :-( - Santosh
1
趣闻:嵌套表格不在最初的RTF规范中。它们是以向后兼容的方式添加的。这就是它们为什么如此混乱的部分原因。 - user2847643
如何在收据打印机的打印输出中去除边框? - Demodave

4

直接在RTF中进行编辑很快变得难以阅读。也许这种实用的方法效果更好: - 使用唯一标识符作为占位符(例如“(P1)”),创建一个示例模型(在Excel或Word中) - 然后将其保存为RTF格式 - 在记事本中打开RTF文件 - 将“AS IS”的RTF代码复制并在程序中使用实际值替换占位符


另一个答案更通用。这是我在这种情况下实际上所做的。只要您可以创建表格,保存为rtf,就可以学习如何完成。警告:在括号后自由插入换行符! - pauljohn32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接