我收到了一个 Quickbooks 交易 IIF 文件的“模板”,里面有七十亿个字段,其中很多我从未使用过。这是一个制表符分隔的文件,包含以下几行:交易的字段标题和这些交易的各自拆分,后面是交易结束标记。
!TRNS FIELD1 FIELD2 FIELD3 ... FIELD48
!SPL FIELD1 FIELD2 FIELD3 ... FIELD48
!ENDTRNS
TRNS FIELD1_DATA FIELD2_DATA FIELD3_DATA ... FIELD48_DATA
SPL FIELD1_DATA FIELD2_DATA FIELD3_DATA ... FIELD48_DATA
ENDTRNS
...
是什么驱动数据进入特定字段?是带有相应数据的字段标题,还是相对于行首的表格位置?例如,假设我要导入的只是 FIELD1、FIELD3 和 FIELD5 中的数据:我需要
by header:
!TRNS FIELD1 FIELD3 FIELD5
!SPL FIELD1 FIELD3 FIELD5
!ENDTRNS
TRNS FIELD1 FIELD3 FIELD5
SPL FIELD1 FIELD3 FIELD5
ENDTRNS
或者
by tabular position:
!TRNS FIELD1 FIELD2 FIELD3 FIELD4 FIELD5
!SPL FIELD1 FIELD2 FIELD3 FIELD4 FIELD5
!ENDTRNS
TRNS FIELD1_DATA FIELD2_BLANK FIELD3_DATA FIELD4_BLANK FIELD5_DATA
SPL FIELD1_DATA FIELD2_BLANK FIELD3_DATA FIELD4_BLANK FIELD5_DATA
ENDTRNS
或者,如果它是一个逗号分隔的输入,我是否需要:
DATA1,DATA3,DATA5
或者
DATA1,,DATA3,,DATA5
有人了解 Quickbooks 的功能吗?
答案1
我的经验是,您在示例中展示的两种文件组织方式都可以使用。使用哪一种则取决于个人喜好。
如果您不需要某个特定字段,您当然可以从 !TRNS 或 !SPL 行中省略其字段名项(从而从文件主体中省略相应的数据值)。这无疑可以简化和缩小文件。
或者,您可以保留不需要字段的字段名项,并提供空数据单元格(即,在进入下一个单元格的制表符之前或进入下一行的换行符之前没有任何内容),其中一行包含一个或多个不需要的字段。
我实际上更喜欢后一种方法,即使结果文件比它们严格需要的“更宽”,因为(至少对我来说)保留所有字段名称可以有效地记录它们;如果我后来发现我确实需要其中一个,它已经在那里等着我了。
我使用 Excel 管理 IIF 文件的内容,这样就简单多了。只需将其保存为制表符分隔文件并将扩展名更改为 .iif。如果您使用文本编辑器准备文件,我可以理解您可能会发现省略不需要的列会更容易。