从 CSV 文件和电子表格文件导入需求工件
您可以将逗号分隔值 (CSV) 文件和电子表格文件中的数据导入 RM 项目中的文件夹和模块。
您可以导入和导出 Microsoft Excel (XLS) 和 Office Open XML (XLSX) 格式的 CSV 文件或电子表格。 导入先前从 IBM Engineering Requirements Management DOORS Next (DOORS Next) 导出的需求时,这些需求可以包含链接和嵌入式工件的标记文本。 导入过程期间,会使用此标记文本创建或更新链接和嵌入式工件。
导入 CSV 文件和电子表格文件的先决条件
- 查看 导入和导出 CSV 文件和电子表格文件 主题中描述的限制。
- 请阅读 CSV 文件格式和示例 主题。注: 电子表格文件必须符合与 CSV 文件相同的内容规则。
- 确保要导入的文件以 UTF-8 编码。 如果要在外部应用程序中处理数据,请确保该应用程序支持 UTF-8。
- 确保该项目在“类型”列中为每个唯一类型名定义了工件类型。 如果导入 CSV 文件时发生了类型错误,请将该文件限制为一次仅一个工件类型。 而且,您可能想要将大型 CSV 文件分为较小区块。 如果发生其他错误,请确保特殊字符已转义,如 RFC 4180 文档中所述。
- 如果该 CSV 文件是在另一应用程序中创建的,请在导入该 CSV 文件前从该文件中移除额外空格或不受支持的字段。
- 对文件中的任何撇号或引号进行转义,如 RFC 4180 文档中所述。
- 根据您的需求,您可能要访问并创建定制属性。 有关更多信息,请参阅 管理需求项目中的项目或组件属性。
- 要导入具有
enumeration类型的属性值的 CSV 文件,请验证是否为目标项目中的相应属性类型定义了这些值。 否则,导入将失败。 - 要将 CSV 文件导入到 DOORS Next 模块中,该 CSV 文件必须包含 isHeading, parentBinding和 Artifact Type 列。 无论生成 CSV 文件的应用程序如何,先决条件都适用。
导入过程
构建正确格式的导入 CSV 文件的最简单方法是从视图导出(该视图包含对应要导入的内容的列)。 如果从视图导出,那么所导出文件包含不受支持的系统维护字段。 但是,如果这些字段包含在导入操作中,那么这些字段会被忽略。 有关从视图导出的更多信息,请参阅 将需求工件导出到 CSV 和电子表格文件。导出模块中的工件层次结构时,如果移除父工件但未移除关联子工件,然后尝试导入该文件,那么导入将失败。 可通过从父工件中移除子工件或将子工件提升至最接近父工件的位置来避免此问题。
要开始导入,请打开“工件”页面,并在创建或更多操作菜单中单击导入工件。 单击从 CSV 文件或电子表格导入需求。 选择 CSV 文件或电子表格后,可以选择将需求导入文件夹或模块。 您可以选择更新与导入的需求匹配的工件,或创建新工件。 更新现有工件时,可忽略与现有工件不匹配的导入需求,或从新导入的内容创建新工件。 进行选择后,单击完成。
你可以通过在 CSV 文件中使用特殊字段来分层导入工件。
示例 1
Identifier,Artifact Type,Name,parentBinding
100,Feature,Feature1,""
101,Feature,Feature11,100
102,Feature,Feature12,100Identifier 列是模块相关导入所必需的。 该标识用于在表示模块工件的 CSV 记录之间建立父代关系。 该标识还用于将模块工件与其模块组合到一起。parentBinding 列还用于模块相关导入(与 Identifier 配合使用)。
module 列用于模块相关导入并指示 CSV 文件中定义的哪些模块是表示模块工件的记录的适用目标。 如果 CSV 文件中未定义模块,那么可忽略 module 列。
导入时,Feature 11 和 Feature 12 将放置在 Feature 1 下,并且这些工件在模块中分层排列:

示例 2
以下样本 CSV 文件定义了两个模块: 模块 1 和模块 2。 模块工件功能部件 1 ,功能部件 11 和功能部件 12 属于模块 1。 模块工件功能部件 2 和功能部件 4 属于模块 2。
Identifier, Artifact Type, Name, parentBinding
99, Module, Module1, ""
100, Feature, Feature1, ""
101, Feature, Feature11, 100
102, Feature, Feature12, 100
103, Module, Module2, ""
104, Feature, Feature2, ""
105, Feature, Feature4, ""
导入后,功能部件 11 和功能部件 12 将置于功能部件 1 下。 如果更改了 CSV 记录的顺序,那么导入结果将有所不同。 例如,如果首先定义模块,那么将在模块 2 中导入功能部件 1 ,功能部件 11 ,功能部件 12 ,功能部件 2 和功能部件 4。 在这种情况下,为了获得期望的结果,可以使用模块列:
Identifier, Artifact Type, Name, parentBinding, module
98, Module, Module1, "", ""
99, Module, Module2, "", ""
100, Feature, Feature1, "", 98
101, Feature, Feature11, 100, 98
102, Feature, Feature12, 100, 98
104, Feature, Feature2, "", 99
105, Feature, Feature4, "", 99