# 数据映射工具：MapForce

## 数据映射工具

Altova MapForce 提供了无与伦比的强大功能和灵活性，适用于高级数据映射、转换和处理。

Altova MapForce 是一款屡获殊荣的图形化数据映射工具，可实现任意数据格式之间的转换和集成。其强大的数据映射功能能够即时转换您的数据，并提供多种选项来自动化重复性的转换过程。

[免费试用下载](mapforce/download.md) [立即购买](https://shop.altova.com/MapForce)

新品！Altova AI，用于数据映射和其他应用 [新功能](mapforce/whatsnew.md) 将于2026年5月27日发布的2026版本第二版。

## MapForce 相比其他数据映射软件，有哪些优势？

MapForce平台的价格仅为大型数据管理产品的零头，并且没有其他传统产品中常见的、由过时设计特性带来的负担。 

## 任意类型数据之间的映射和转换：



[XML](#xml-mapping)

[JSON](#json)

[数据库数据](#nosql)

[PDF](#pdf)

文本和 [平面文件](#csv)

[Excel](#excel)

[EDI](#edi)

[XBRL](mapforce/xbrl-mapping.md)

Google [Protocol Buffers](#protobuf)

[Web服务 (SOAP/REST)](mapforce/web-services-data-mapping.md)

[Shopify / GraphQL](mapforce/convert-shopify-graphql.md)

## MapForce 中的数据映射工具：

- 图形化的 [数据映射设计](#data-mapping)
- [数据集成](#powerful)
- [数据处理功能](#)
- 互动式 [数据映射调试器](#)
- [企业级ETL解决方案](mapforce/etl-tool.md)
- [Altova AI 集成](mapforce/ai-data-integration.md) ，用于生成数据映射
- [一对多的映射项目](mapforce/any-to-many-chained-mapping.md)
- [链式数据映射转换](mapforce/any-to-many-chained-mapping.md#chained)
- 生成适用于 MapForce Server 的 [执行文件](mapforce-server.md)
- 高性能 [自动化](mapforce-server.md)


## Customers Say

我们对 Altova MapForce 进行了评估，将其与其他主要的行业数据集成应用进行了比较，结果发现它在功能强大和易用性方面都远胜于其他产品。
Mark Beede
HealthTrans

我们已经试用了 MapForce 3 天，对它的直观设计和易用性印象非常深刻。 感谢您让我们的工作更加轻松。
Michael Elson
CRS Corporation

以下是 MapForce 中数据映射工具的简要概述

[使用MapForce数据映射工具，可以轻松转换JSON、XML、CSV等多种数据格式](https://www.youtube.com/watch?v=fyZzJZyFbH4)

## Data-Mapping

MapForce 界面通过图形化界面，方便数据集成，并提供了许多选项，用于管理、可视化、操作以及执行单个映射关系和复杂的映射项目。使用设计面板，您可以图形化地定义映射组件，添加函数和过滤器以进行数据处理，并通过拖动连接器在源数据格式和目标数据格式之间进行转换。

[MapForce 通过直观的、可拖放的界面，让数据映射变得简单易用](https://www.altova.com/images/data-mapping.png)

设计面板包含一系列易于使用的功能，旨在帮助您轻松地处理、识别和重新定义即使是最复杂的数据映射关系。例如，点击某个项目名称会自动选中该项目，以便将其连接到另一个项目。当您将鼠标悬停在数据映射连接的各个部分时，会弹出提示框，您可以查看更多信息，例如映射的目标项目或数据类型。

连接线可以轻松移动：只需点击并拖动到目标位置即可。要创建重复连接线（即从同一个源头连接到不同的目标），只需按住 CTRL 键，然后拖动连接线即可。激活“自动连接子项”图标，会自动将所有名称相同的子项连接到其父项下。

任何数据映射项目都可能涉及多个输入源和多个输出目标，并且可以将完全不同的数据类型进行整合。

MapForce中的高级数据映射工具包含一个丰富的函数库，可以执行集成项目所需的大部分数据转换操作。一个便捷的概览窗口让您能够直观地查看整个数据映射项目，并根据需要放大特定区域。在设计面板中滚动时，该窗口还会指示您当前所处的位置。即使是最大的数据映射项目，您也能轻松浏览！

为了让新手用户更容易上手，MapForce 包含一个引导栏，它会逐步引导用户完成数据映射的创建过程，并帮助他们插入源数据和目标数据映射组件，然后创建必要的连接和处理逻辑。

## 数据转换工具

对于数据转换，MapForce 提供了可扩展的数据处理和转换函数库，可以根据您的数据集成项目的需求，对数据进行过滤和处理。此外，MapForce 还包含一个独特的[可视化函数构建器](mapforce/visual-function-builder.md) ，用于定义和重用自定义函数，这些函数可以将多个操作组合在一起。为了节省时间，并利用您已经完成和测试过的成果，您还可以导入现有的数据转换代码、用户自定义函数，或者 XSLT 1.0、2.0 或 3.0 文件，将其用作函数库。

[MapForce 中的数据映射工具包含一个丰富的过滤器和函数库，用于定义数据转换规则](https://www.altova.com/images/data-transformation-tools.png)

致 [转换 XML](mapforce/convert_xml.md) MapForce 支持多种数据格式，并且能够处理最复杂的转换场景。它允许您基于条件、布尔逻辑、字符串操作、数学计算、SQL 和 SQL/XML 语句，或者任何用户自定义函数来定义转换规则。您甚至可以使用现有的 Web 服务来查找或处理任何映射中的数据。

MapForce 数据转换功能： 

- 数据处理功能：实时转换数据。
- 数学计算。
- 布尔型、数据、时间、数字或字符串转换。
- [决策表。](#decision-tables)
- 程序化的字符串和日期时间解析。
- 专门的节点、序列、EDIFACT 和数据库函数。
- 支持过滤器、条件、参数和变量。
- SQL 或 SQL/XML 数据库函数。

### 函数库 {#library}

许多内置函数，例如连接、加法、乘法等，都支持无限数量的参数，这使得进行数学运算和组合多个参数变得非常容易。聚合函数允许您对数据组进行计算，包括计数、求和、最小值、平均值、字符串连接等。还提供了转换函数，以便方便地解析复杂的数据类型。

核心库中的函数具有通用性，不针对任何特定类型的输出。通过使用这些核心函数，您可以仅通过选择所需的语言，即可创建 XSLT 1.0/2.0/3.0、XQuery、Java、C++ 或 C# 数据转换代码。

### 中间变量 {#variables}

中间变量是一种特殊的组件，用于存储中间映射结果，以便进行后续处理，并且可以用于解决各种高级映射问题。一个中间变量等同于一个普通的（非内联的）用户自定义函数，并且是一个结构化组件，不包含实例文件。

### 筛选器和条件 {#filters}

在映射关系中插入过滤器和条件，可以根据布尔条件从源数据中选择所需的数据。

在 MapForce 中，if-else 条件语句相当于许多编程语言中的 switch 语句，它允许您通过将一个值与选定的条件进行匹配，轻松控制映射项目中数据的处理流程。 

### 决策表 {#decision_tables}

A [决策表](https://www.altova.com/blog/2025/11/using-decision-tables-to-simplify-data-mapping-logic) 这是一种结构化的方法，用于表示业务规则或逻辑。它通过以表格形式列出所有可能的条件以及相应的“如果/那么/否则”操作来实现。条件（输入）和操作（输出）被输入到表格中，每一行代表一个规则。

MapForce 包含一个决策表组件，用于同时定义大量的处理规则，然后将这些规则压缩成一个易于理解的 MapForce 函数，该函数根据定义的规则处理输入数据。 

[数据映射中的决策表](https://www.altova.com/images/decision-table.png)

MapForce 中对决策表的支持，简化了处理多条件逻辑的过程，同时保持了映射关系的清晰、一致，并使其更容易维护。

### 数据转换参数 {#parameters}

MapForce 支持转换输入参数，允许外部参数影响映射转换过程。这些转换输入参数可以传递给由 MapForce 代码生成器在 Java、C# 或 C++ 中创建的主要映射函数。

### 节点功能 {#node-functions}

在 MapForce 中，对节点功能的支持意味着您可以定义数据处理函数和/或默认值，并将它们分配给一个或多个节点，而无需重复定义相同的函数——而且无需绘制映射线。 

节点函数和默认值在节点级别应用，并且可能同时作用于一个或多个节点。 它们特别适用于您希望将相同的处理逻辑应用于结构中的多个子项的情况，例如，去除空白字符、为空值/空值设置默认值、用其他值替换特定值等。 您可以为输入或输出映射组件定义一个节点函数或默认值，并且可以选择性地将该函数或默认值传播到该节点的某些或所有子节点。 

[MapForce节点功能以及高级数据映射的默认值](https://www.altova.com/images/mapforce-node-function-default.png)

## 从 Altova AI 开始

MapForce 支持与 Altova AI Server 的可选集成，以实现[人工智能辅助的数据映射](mapforce/ai-data-integration.md) 和数据处理。

一旦您输入了源结构和目标结构，Altova AI 会分析实际数据，生成字段连接，推荐转换函数，并创建带有明确数据流和处理步骤的连接——所有这些都在标准的 MapForce 图形界面中完成。 这个过程是交互式的：您可以逐个审查每个建议的连接，并选择接受或拒绝；或者，您可以一次性应用所有更改。

[利用人工智能生成数据映射关系](https://www.altova.com/images/data-mapping-ai.png)

借助 Altova AI，MapForce 可以处理数据集成方面的技术性工作，让您可以专注于真正对您的业务至关重要的逻辑环节。

[Altova AI 是一种可选的订阅服务，您可以选择在购买产品许可证的同时购买。](mapforce/ai-data-integration.md#subcribe)

## 管理函数库

MapForce 包含一个高度灵活且易于使用的“管理库”窗口，允许您导入用户自定义函数和自定义库，这些导入既可以全局生效，也可以仅针对特定的映射项目。 这样，当开发人员将 MapForce 项目文件发送给同事时，其中已经包含了所有导入的库，无需单独安装。 此外，这还使得您可以，例如，根据需要，直接复制和粘贴用户自定义函数，从一个映射项目复制到另一个映射项目。 

在XML映射中，当项目导入XSLT或XQuery库时，您可以选择生成XSLT或XQuery代码，并在代码中使用相对路径来引用导入的库文件。

请注意，MapForce COM API 还支持库的管理功能。

[管理 MapForce 函数库](https://www.altova.com/images/mapforce-function-libraries.png)

## 数据映射结果预览

MapForce 内置的执行引擎允许您预览 XML、数据库、PDF、文本文件、EDI、Excel、Protobuf、XBRL 以及 Shopify/GraphQL 数据映射的程序代码和输出结果。您可以执行数据映射转换，然后立即查看和保存映射结果，或者通过 MapForce Server 自动化此过程。

[在数据映射工具中预览输出结果](https://www.altova.com/images/mapforce_output_preview.png)

输出选项卡会显示一个 XML 文件，如果映射的目标是 XML 模式。映射到纯文本文件的结果将以 CSV 或文本文件形式呈现；映射到 EDI 目标会生成 EDI 消息；映射到 Excel 会生成 Office Open XML (OOXML) 格式的文件；映射到 XBRL 分类体系则会生成相应的 XBRL 数据 [生成XBRL格式的财务报告](mapforce/xbrl-mapping.md)...并且将数据映射到 Protocol Buffers 格式后，会生成一个以 Protocol Buffers 格式的二进制文件。

当您将数据映射到数据库时，预览窗口会显示将根据您的映射关系，对数据库执行的 SQL 命令。MapForce 引擎还允许您实际运行 SQL 脚本，以执行转换并对数据库进行更改。

### 预览 XSLT 样式表

MapForce 提供了多种实用功能，以帮助您开发用于 XML 到 XML 转换的 XSLT 1.0/2.0/3.0 样式表。在您进行可视化数据映射设计时，MapForce 会在后台自动生成相应的 XSLT 样式表。您可以随时通过点击主设计窗口底部的“XSLT”选项卡，预览生成的 XSLT 样式表代码。

此外，当您在 MapForce 中导入新的 XML 模式、DTD 或 XBRL 分类时，您可以选择性地提供一个示例 XML 文档作为补充。如果您选择提供示例数据，MapForce 允许您在工作过程中，通过点击主设计窗口底部的“输出”选项卡，轻松预览示例转换的结果。这有助于确保您的数据映射能够达到预期的效果。


## MapForce 博客

请访问我们的博客，获取有用的信息 [MapForce 的技巧、窍门和使用指南](https://www.altova.com/blog/category/data-integration/).

## 交互式数据地图调试器

MapForce 包含一个革命性的交互式调试器，旨在帮助用户进行数据映射设计。该调试器允许用户逐个步骤地执行映射过程，并实时查看数据从源头流向目标节点的过程，从而了解数据在映射过程中的具体流动路径。MapForce 调试器支持菜单命令、一个专门的工具栏，以及在调试运行时自动打开的辅助窗口，使用户能够追踪中间处理操作，并在映射执行过程中检查数据值。

[MapForce 中的数据映射工具包含一个强大的调试器](https://www.altova.com/images/mapforce_data_maping_debugger.png)

MapForce 数据映射调试器能够深入了解数据集成和 ETL 项目的内部运作机制，这种程度的洞察力以前是无法实现的，即使是那些价格更高的映射工具也无法提供。

MapForce 调试器支持断点和单步执行功能，这些功能对于熟悉源代码调试的开发人员来说应该很熟悉。可以在任何输入或输出节点上设置断点，以在特定位置暂停映射执行，并且支持条件断点。

以下是一些命令，它们可以实现不同精度的单步执行，用于手动调试数据映射，或者在达到断点后继续执行。这些功能允许用户查看他们需要的尽可能详细的信息。

本教程将深入探讨 MapForce 调试器，重点介绍如何进行[数据转换验证](https://www.altova.com/blog/validating-data-transformation/) 。

## 用于通过 MapForce Server 实现自动化的执行文件

在数据映射工具中完成项目设计和测试后，可以使用 [MapForce Server](mapforce-server.md) 来执行该项目，从而自动化需要重复数据转换的业务流程。

[MapForce 将 MapForce Server 的执行文件编译，从而实现数据映射项目的自动化](https://www.altova.com/images/mapforce_compile_exec_file.png)

MapForce 会预处理和优化数据映射关系，并将它们存储在 MapForce Server 的执行文件中，以便 MapForce Server 通过命令行进行执行。此外，这些映射关系还可以上传到 FlowForce Server，用于 FlowForce Server 的作业中。在映射关系中，可以定义文件名作为数据映射的输入和输出，或者包含在映射中的数据库查询。在运行时，这些文件名可以被作业参数替换，以便 MapForce Server 执行。

## XML-Mapping

MapForce 中用于处理 [XML](https://www.w3.org/XML/) 的数据映射工具支持基于 XML Schema 或 DTD 内容模型的映射。要创建 [XML 映射](mapforce/xml-mapping.md) ，只需将两个或多个 Schema 加载到 MapForce 中，然后将连接线拖动到源和目标之间的节点之间。此外，混合内容支持功能甚至允许您映射与 XML 混合在一起的文本数据。

如果您的 XML 实例文档没有关联的 XML 模式，MapForce 会根据该 XML 实例文档自动生成一个 XML 模式。

[MapForce 中的 XML 数据映射工具](https://www.altova.com/images/mapforce_xml_mapping.png)

MapForce 支持在多个输入和多个输出模式之间进行高级 XML 转换，可以处理多个源文件和/或目标文件，或者进行高级的多阶段数据转换（例如，从一个模式转换到另一个模式，再到另一个模式，以此类推）

一旦您完成了XML映射和数据处理规则的定义，您可以加载一个源文件，MapForce内置的执行引擎将立即将数据转换为新的格式。

MapForce 还可以自动生成 XSLT 1.0 或 2.0 样式表，用于根据源模式将多个 XML 文档中的数据转换成符合目标 XML 模式的格式。

除了 XML 映射之外，MapForce 还支持将 XML、数据库、PDF、EDI、XBRL、文本文件、Excel、JSON、Protobuf、Shopify 以及/或 Web 服务数据进行任意组合的映射，从而构建数据集成或 Web 服务应用程序。

### 支持 XML 通配符 {#wildcard}

在 XML Schema 设计中，`<xs:any>` 元素和 `<xs:anyAttribute>` 允许在 XML 实例文档的相应位置添加任何新的元素或属性，即使这些新的元素或属性在 XML Schema 中没有被明确定义。这被称为 XML 通配符，是一种常用的机制，它允许在许多支持行业标准的 XML Schema 中实现一定程度的定制化，从而适用于各种不同的业务领域。

MapForce 支持 `<xs:any>` 和 `<xs:anyAttribute>`，可用于将数据映射到 XML 或其他任何输出格式。 在 XML 映射输入组件中，`<xs:any>` 或 `<xs:anyAttribute>` 旁边会显示一个新选择按钮，点击该按钮会打开一个通配符选择对话框。

`<xs:any>` 元素以及 `<xs:anyAttribute>` 在 XML Schema 设计中被广泛使用，而对这些元素的支持一直是 MapForce 用户经常提出的需求。

### 查看 XML 映射输出结果

在您设计 XML 映射项目时，内置的 MapForce 引擎允许您只需点击一下，即可查看和保存自动生成的 XSLT 1.0/2.0/3.0 或 XQuery 代码。您还可以点击“输出”选项卡，查看您的 XML 映射实际生成的输出结果。

## JSON 数据映射

MapForce 支持基于 [JSON](https://www.json.org/) (JavaScript 对象表示法) 模型来定义和执行数据映射。您可以将 JSON 实例文件或 JSON 模式文件作为数据映射的源或目标组件。MapForce 可以读取和写入 JSON、JSON5 和 JSON Lines 格式的数据。

这篇博文是关于数据映射的 [JSON lines](https://www.altova.com/blog/data-mapping-json-lines/) 它将为您提供更深入的了解。

如以下所示，JSON 组件以正确的元素语法进行显示，并且其数据类型已明确标示。

[使用MapForce中的数据映射工具，将JSON数据进行转换](https://www.altova.com/images/mapforce_json_mapping.png)

来自 MapForce 函数库的数据处理功能可以应用于转换 JSON 数据，其使用方式与其他组件相同。 

JSON 数据映射工具：

- 支持将 JSON 作为源数据或目标数据格式
- 支持将 JSON5 作为源数据或目标数据格式
- 根据给定的文档实例，生成 JSON 或 JSON5 模式
- 支持映射 JSON 子类型
- 支持包含混合类型元素的 JSON 数组

### 自动生成 JSON 模式

当您将一个 JSON 或 JSON5 文件添加到 [JSON 映射](mapforce/json-mapping.md) 时，MapForce 会自动检测该文件是模式文件还是实例文件。对于 JSON 或 JSON5 实例文件，MapForce 会提示您选择一个模式文件，或者自动生成一个。MapForce 使用 JSON 或 JSON5 模式来构建组件的结构。

JSON 或 JSON5 模式允许在同一位置出现多种数据类型。在这种情况下，MapForce 组件会为所有可能在该位置出现的原始数据类型显示独立的结构节点。

MapForce 还支持 JSON 组件中的数组。如果 JSON 模式中的数组包含不同类型的元素（例如，既有字符串又有数字），MapForce 会为每种元素类型显示一个“项”节点。在写入 JSON 文件时，这允许您创建包含不同类型元素的数组。

## 关系型数据库和 NoSQL 数据库的映射

MapForce 提供了强大的数据库映射功能，包括将数据库数据映射到 XML、JSON、文本文件、EDI、Excel (OOXML)、XBRL、Web 服务，甚至其他数据库格式，从而实现[数据库之间的数据转换](mapforce/database-mapping.md) ，并支持[从一个数据库迁移到另一个数据库](mapforce/database-migration.md) 。

当您在设计窗口加载数据库结构时，MapForce 会自动解析数据库模式，让您选择可用的数据库表和视图，并识别表之间的关系。

[该数据映射工具支持所有主流的SQL数据库](https://www.altova.com/images/mapforce_database_mapping.png)

一旦您已加载数据库映射所需的所有内容模型，只需通过拖动连接线，将源结构和目标结构连接起来，即可完成映射过程。

支持 **关系型的** 数据库：

- Firebird
- IBM DB2 for iSeries®
- IBM DB2®
- Informix®
- MariaDB
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Progress OpenEdge
- SQLite
- Sybase® ASE
- Teradata

支持 **NoSQL** 数据库：

- MongoDB
- CouchDB
- 微软 Azure Cosmos DB 数据库

MapForce 支持所有主流的关系型数据库，以及流行的 NoSQL 数据库，让您能够创建图形化的数据库映射设计，连接数据库中的源数据、数据处理函数和过滤器，以及各种类型的数据结构。

数据库映射工具： 

- 对所有主要数据库进行查询
- 将任何支持的数据库类型的数据映射到任何其他数据库类型
- 指定数据库的密钥设置
- 定义数据库表的操作
- 直接查询数据库
- 连接到数据库并将其中的字段映射到 XML 数据
- 对数据库输入组件进行排序
- 数据库输出日志记录（数据库追踪）
- 用于错误处理的事务回滚

### 筛选和处理数据库数据

许多数据库映射都需要根据布尔条件或SQL和SQL/XML语句，对源数据和目标数据进行处理。您可能需要进行逻辑比较、数学计算或字符串操作，检查数据库中特定值的存在，并对数据进行其他修改。如图所示，在连接源数据模型和目标数据模型的线条之间，数据处理函数以方框的形式呈现。

数据处理功能使您能够实时执行高级数据库映射，以满足各种实际应用场景中的数据转换需求。例如，您可以构建数据库映射，利用 XML 或 EDI 消息，根据 XML 或 EDI 元素中的筛选条件，提取数据库中的数据行。

### 即时数据库转换

一旦您完成了映射配置，内置的 MapForce 引擎允许您只需点击一下即可查看和保存结果。

数据库到XML的映射会生成一个XML输出文档；数据库到纯文本文件的映射会生成CSV格式或固定长度的文本文件；数据库到EDI的映射可以生成各种方言的EDI消息；数据库到Excel的映射会生成Office Open XML (OOXML)格式的文件；而数据库到XBRL的映射会生成XBRL格式的财务报告。

将数据映射到数据库会生成SQL脚本（例如，SELECT、INSERT、UPDATE和DELETE语句）或NoSQL脚本，这些脚本可以直接在MapForce中运行，并作用于您的目标数据库。

## PDF数据提取与映射

MapForce 支持将 PDF 数据作为任何数据映射项目的源数据。由于 PDF 数据是无结构的，因此该软件包含强大的 [MapForce PDF 提取器](mapforce/pdf-extractor.md) ，用于创建 PDF 数据提取模板，这些模板随后可以在 MapForce 中使用。

PDF提取工具采用简洁直观的设计，用户可以通过点击和拖拽等操作，以可视化的方式定义PDF文档的结构，操作非常简单易用。 

这款PDF提取工具内置OCR功能，并提供简单易用的可视化工具，从而可以访问大量存储在PDF文件中的业务数据，用于数据映射、数据集成以及ETL（抽取、转换、加载）流程。一旦您创建了模板，就可以将其导入MapForce，从而高效地将PDF数据映射到XML、JSON、数据库、Excel以及其他支持的数据格式。

了解更多关于如何使用 [MapForce PDF 提取器](mapforce/pdf-extractor.md) 的信息。

## EDI 数据映射

EDI（电子数据交换）标准是电子商务数据交换领域的主流格式，为组织提供了一种快速、准确的交易数据交换方法。EDI在其他集成业务技术（如ERP、CRM以及许多供应链相关技术）出现之前就已经存在，因此，数据映射和转换是任何EDI实施的重要组成部分。

MapForce 是一款图形化的 EDI 映射工具，它原生支持当前广泛使用的各种商业数据格式，包括 XML、数据库、PDF、CSV、Excel、Web 服务，以及 EDIFACT、X12、HL7、NCPDP SCRIPT、IDoc、PADIS、SWIFT、ODETTE、VDA 和 FORTRAS 等 EDI 交易标准。 

[MapForce 中的数据映射工具可以轻松地将 EDI 数据映射到其他格式](https://www.altova.com/images/mapforce_edi_mapping.png)

MapForce 通过允许您直观地定义 EDI 与 XML、数据库、PDF、文本文件、Excel 以及其他 EDI 系统以及 Web 服务之间的映射关系，从而简化了 EDI 数据集成。这使得您的组织能够享受到电子信息交换带来的好处，同时无需增加成本或复杂您的应用程序基础设施。MapForce 特别适用于 [转换用于传输医疗数据的 HIPAA X12 和 X12 消息。](mapforce/healthcare-edi.md)

### 处理多种EDI消息类型

MapForce 允许您定义一个映射关系，以处理包含多种消息类型的 EDI 文件。 无论您的数据映射项目是处理源文件还是目标文件，MapForce 都支持包含多种消息类型的 EDI 文件，从而提供最佳的灵活性 [EDI 映射](mapforce/edi-mapping.md).

### 消息已收到 {#edi-ack}

在 EDI X12 标准中，997 确认消息用于传递入站交换的状态，例如确认已接收到交易、报告交易错误等。

MapForce 可以轻松配置，自动将您的输入 X12 消息转换为 997 确认信息，从而帮助您在合作伙伴网络内部和外部建立无缝的贸易连接。

### 验证 EDI 输出 {#edi-output}

MapForce 允许您通过验证所有 EDI 数据的源和目标组件，以及映射结果，来确认 EDI 输出的准确性。这有助于确保只有有效的 EDI 消息才能被处理。

### EDI 消息支持 {#edi-msg}

MapForce支持当前版本的EDI交易标准，以及通过免费的集成模块支持以前版本的消息。您可以获取关于每个EDIFACT、X12、HL7等版本中支持的[消息的详细信息。](mapforce/edi-mapping.md#formats)

### 快速将EDI转换为XML {#quick-edi-xml}

如果您需要一种快速将 EDI 数据转换为 XML 数据的方法，而无需手动进行映射，您可以右键单击 EDI 组件，然后选择“创建 XML 映射”。请确保选择内置的 MapForce 引擎进行转换，然后点击“输出”选项卡，以查看和/或保存生成的 XML 文件。 

这个功能提供了一种便捷的方式，可以快速将 EDI 文件导出为 XML 格式。此外，通过 MapForce Server，这个转换过程可以实现自动化。 此外，由于 XML 本质上是易于阅读的，因此它还可以作为一种替代方案，用于在复杂映射中预览最终写入 EDI 文件的输出结果。

## Protobuf 数据转换

[Protocol Buffers](https://developers.google.com/protocol-buffers/) (Protobuf) 是 Google 提供的一种跨语言、跨平台的机制，用于序列化结构化数据。该方法涉及一种接口描述语言，用于描述数据的结构，以及一个程序，该程序根据该描述生成源代码，用于生成或解析表示结构化数据的字节流。为了实现数据交换，使用 Protocol Buffers 格式的二进制文件会附带 .proto 文件，这些文件定义了编码的二进制数据的结构（类似于 XSD 如何描述 XML 实例文档的结构）。

MapForce 能够轻松地将数据映射和转换成或从 Protocol Buffers 格式的二进制数据，并且支持将 Protocol Buffers 作为您任何数据映射项目的源数据或目标数据。 

[用于将 Protocol Buffers (protobuf) 转换为 XML、JSON 以及其他格式，或将其他格式转换为 Protocol Buffers 的数据映射工具](https://www.altova.com/images/mapforce-convert-protocol-buffers.png)

当不使用 MapForce 时，为了创建或读取 Protocol Buffers 数据，开发人员需要生成并编写程序代码。但是，使用 MapForce，您无需编写代码或从 .proto 文件生成代码。您只需将 .proto 文件添加到映射中，并通过图形界面建立所需的连接。为了[转换 Protocol Buffers](mapforce/convert-protobuf.md) 数据，MapForce 会根据映射设计，从源二进制文件读取数据，或者生成二进制文件。

## CSV、文本文件和扁平数据文件的映射工具

Altova MapForce 包含独特的 FlexText 工具，用于解析和[转换文本文件](mapforce/text-conversion.md) ，例如大型机文本报告、基于文本的日志文件以及其他旧版本的文本文件类型，这些文件可以用于映射设计。通过其可视化界面，FlexText 允许您导入现有的文本文件，并在 MapForce 的映射界面中提取您想要转换的部分。

FlexText 会生成一个模板，然后将该模板加载到 MapForce 中。在 MapForce 中，您可以将单个文本节点转换为多种格式的组合，包括 XML、数据库、PDF、EDI、XBRL、纯文本文件、Excel、JSON 以及/或 Web 服务数据。通过保存您在 FlexText 中创建的配置，您可以重复使用相同的模板，将多个文本文件转换为多种格式，以满足常见的需求，例如： [将 JSON 数据转换为 CSV 格式](mapforce/convert-json-csv.md).

[该数据映射工具包含 FlexText，用于解析文本文件](https://www.altova.com/images/mapforce_text_processing.png)

FlexText 允许您创建用于文本文件转换的模板规则。当您在 FlexText 界面中打开一个文本文件时，该文件会显示在两个区域。根区域代表原始文件，而操作区域（位于其右侧）会实时显示您提取的数据。

您执行的每一个操作的结果都会实时显示，因此您可以立即看到是否达到了预期的效果。

旧的文本文件中可能包含有用的数据，这些数据可能以CSV（逗号分隔值）或FLF（固定长度字段）格式存储在更复杂的纯文本文件中。FlexText允许您直接提取这些数据，使用CSV和FLF功能即可。在应用“拆分”和其他操作后，您可以配置字段名称、长度等，将剩余的CSV或FLF格式的字段进行存储。

如果您想了解更多信息，请查看这篇博客和视频，它们介绍了如何[转换旧的文本文件](https://www.altova.com/blog/how-to-convert-legacy-text-files-video/) 。

### 提取相关数据

FlexText 允许您通过使用分割命令，移除不相关的文本、字符和空格，从而提取您需要访问的数据。每次分割操作会将您的数据呈现为两个新的区块：一个包含您提取的数据，另一个则显示转换后的文件的修改视图。您可以立即看到每次操作的结果。

### 节点、忽略、切换以及正则表达式

FlexText 支持“节点”和“忽略”操作，从而在构建信息树时提供更大的灵活性。 “忽略”操作会将文本块标记为与转换无关，并指示 MapForce 忽略该文本块。 “节点”操作则在 MapForce 中创建一个新的节点，以便在需要时，您可以正确地表示文本数据的层级结构。

“Switch”操作允许您为一段文本定义多个条件。文本文件中包含的数据只有在满足定义的条件时，才会传递给相关的容器，并在MapForce转换中使用。 

FlexText 还支持正则表达式。例如，一个输入文件可能是一个系统生成的报告，其左边距包含数字和字母代码，用于指示记录类型。其中，连续的五个数字后跟字母“O”表示某个办公地点的新的章节开始。

## 将Excel文件转换为其他格式

MapForce 软件支持将数据映射到基于 Microsoft 电子表格格式的数据® Excel 2007及更高版本，采用Office Open XML文件格式。MapForce支持将Excel电子表格作为映射源或目标，让您能够利用其强大的图形界面，实现与Excel文件之间的数据映射（无论是将数据映射到Excel文件中，还是从Excel文件中提取数据）。

[在 MapForce 数据映射工具中，可以使用 Excel 进行数据转换](https://www.altova.com/images/mapforce-excel-mapping-example.png)

为了开发一个 [Excel 数据映射](mapforce/excel-mapping.md) 基于现有的电子表格或工作簿，您只需通过“文件”菜单中的命令打开您的源文件，或者将文档拖拽到设计面板中，即可使用 MapForce。MapForce 会显示该文件的图形化结构，包括行、列和单元格，以及对数字和名称的引用。该组件包含可点击的图标，允许您定义和指定可映射的数据。

此外，MapForce还支持一种可选的文件格式，该格式于Microsoft Office 2013版本中引入，即严格的Open XML电子表格格式（ISO/IEC 29500 Strict），并将其作为一种数据映射的输入组件。

MapForce 允许您选择并映射电子表格中的每个独立数据表，从而避免在将这些复杂 Excel 工作表导入 MapForce 之前，手动提取、导出或其他预处理操作。

一旦您完成了映射配置，内置的 MapForce 引擎允许您只需点击一下即可查看和保存结果。 将数据映射到 Excel 会生成 Office Open XML (OOXML) 格式的文件。

## Shopify/GraphQL 数据集成

Shopify，这个流行的电商平台，已经将GraphQL作为其API的标准格式，并且很快将要求所有新的Shopify应用程序都使用GraphQL。MapForce对Shopify/GraphQL的支持，可以轻松地[集成Shopify/GraphQL数据](mapforce/convert-shopify-graphql.md) 与其他数据格式，并定义Shopify的ETL工作流程。

可以利用对 Shopify/GraphQL API 的调用作为任何数据映射项目的来源或目标。例如，可以将 Shopify 的销售数据写入后端数据库，或者将库存系统中的实时数据导入到 Shopify 商店。

[在 MapForce 中进行 Shopify 数据映射](https://www.altova.com/images/shopify-data-mapping.png)

## 数据映射文档

MapForce 经常被开发人员和非技术领域的专家在团队环境中用于映射各种复杂的数据。MapForce 允许您生成详细的数据映射文档，从而方便用户与其他部门和/或客户共享并确认其映射的准确性。

[生成数据转换映射的文档](https://www.altova.com/images/mapforce_generate_documentation.png)

生成的文档提供了所有映射输入和输出的概览，包括连接的详细信息，以及已应用的函数和过滤器。

为了进一步完善数据映射文档，MapForce 允许您在连接属性对话框中，为任何数据映射连接添加注释。

在“标注描述”字段中输入的文本将显示在映射设计中，这有助于您回顾操作步骤，并为项目团队的其他成员提供更清晰的说明。

## 强大的、灵活的、经济高效的数据集成工具

MapForce 提供了无与伦比的强大功能和灵活性，可用于高级数据映射、转换和处理，使其成为全球和企业内部数据集成项目的理想工具。 您可以轻松地集成来自不同格式的多个文件中的数据。

MapForce是一款理想的中件产品，它支持数据集成自动化，可以连接任何本地企业中的分布式应用程序、基于Web的工作流程，甚至云架构。

[MapForce 是一款功能强大且价格合理的的数据映射工具](https://www.altova.com/images/mapforce.png)

### 可重复使用的数据映射

无论是 XML 或数据库模式、EDI 配置文件，还是 XBRL 分类体系，MapForce 都能根据数据结构整合数据，而无需考虑底层内容的具体形式。这意味着您可以重复使用数据映射，即使业务数据发生变化。

### 自动化数据集成

MapForce 可以生成 MapForce 运行文件，供 [MapForce Server](mapforce-server.md) 执行，也可以生成免版税的数据集成代码，使用 Java、C# 或 C++ 语言，用于自动重新处理数据映射。这使得您可以实现定时或事件触发的数据集成/迁移操作，并将这些操作集成到任何报表、电子商务或基于 SOA 的应用程序中。MapForce 的数据集成操作还可以通过数据集成 API 或 ActiveX 控件进行自动化。

### 数据处理

数据集成项目通常需要对输入数据进行处理和转换，以便目标系统能够使用。MapForce 提供了直观的图形化功能构建器，以及完全可扩展的数据处理功能，内置了丰富的库、过滤器和条件等，旨在帮助您轻松地处理数据，并集成各种不同的数据格式。

### 数据映射网络服务 {#web_services}

MapForce 支持在映射文件中直接调用 SOAP 和 REST Web 服务。您可以在映射文件中插入 Web 服务调用，并提供输入参数以及用户名/密码或其他身份验证信息。 

MapForce 还支持通用的 HTTP Web 服务，这些服务通常在消息体中包含自定义的请求或响应结构。MapForce 支持在请求或响应体中使用 JSON 或 XML 数据，从而允许您调用几乎任何需要或返回 XML 或 JSON 结构化的 HTTP Web 服务。

### 遗留数据集成

随着技术的飞速发展，许多组织面临着维护过时的数据存储系统的难题，这些系统往往已不再受支持，导致数据难以以原始格式进行访问。MapForce 提供了独特的 FlexText 工具，用于解析平面文件输出，从而可以轻松地将这些过时数据与任何其他目标结构进行集成。

### 无需编写代码

从MapForce数据映射的图形化设计，到部署到生产环境的工作流程，数据集成可以实现端到端的过程，而无需编写任何代码。

大多数企业希望充分利用现有的资源，例如 SQL 数据库中的视图和存储过程、定制的 Excel 电子表格，或其他遗留数据。所有这些资源以及更多内容都与 MapForce 集成平台完全兼容。

### 经济实惠的

MapForce 不需要用户去收集各种适配器或其他需要额外付费的插件。用户可以完全掌控数据集成和转换的设计与实现，并且可以处理所有类型的数据，包括 XML、数据库、PDF、文本文件、EDI、Excel、XBRL 以及 Web 服务数据等各种组合。 


## Call to Action

[立即下载 Altova MapForce 的完整功能试用版，免费试用 30 天！](mapforce/download.md)
[现有客户可以在这里更新到最新版本。](mapforce/download.md)
[MapForce，现在就体验。](https://shop.altova.com/MapForce)

## MapForce 常见问题解答

以下是客户在评估数据集成工具时，经常提出的问题列表。

### 您能推荐一款数据转换工具吗？这款工具应该能够处理数据库和结构化文本文件，例如JSON和XML。如果能同时支持CSV格式就更好了。

是的，这是很常见的需求。企业通常会以各种格式接收和存储数据，包括数据库和结构化文本文件。一种能够转换数据库和文本文件格式的工具，可以实现来自不同来源的数据整合，而无需使用多种工具或进行复杂的集成。 

Altova MapForce 支持将数据从多种 SQL 数据库以及 NoSQL 数据库进行转换。此外，它还允许用户在各种常见的数据格式之间进行转换，包括 XML、JSON、CSV 以及其他文本文件、PDF、Excel 等。 

通过直观的、拖放式界面，您可以定义数据转换规则和数据处理函数，从而将各种格式的数据进行转换，而 MapForce 会立即完成数据转换。

### 我正在寻找一款低成本的ETL工具，但不是开源的。请问有哪些性价比最高的工具，既可以在桌面电脑上使用，也可以部署到我们的服务器上，用于自动化处理？

经济实用的ETL工具具有诸多优势，包括可负担的扩展性、更快的投资回报率，以及对预算有限的部门的可访问性。虽然一些价格较低的ETL工具功能较为有限，但Altova MapForce是一个不错的选择，它提供了全面的数据集成和ETL功能，甚至支持基于服务器的自动化。 

MapForce 是一款桌面软件，用于图形化数据映射。它支持最常用的数据格式，包括 XML、JSON、PDF、数据库、CSV 等。为了实现高性能的 ETL 自动化，MapForce 项目可以部署到 MapForce Server 上。这两款产品都采用经济且可扩展的收费模式。 

开源工具的一个缺点是缺乏厂商的可靠性和持续的产品维护。与一些价格实惠的ETL工具不同，MapForce并非开源软件。Altova公司在开发工具领域已经有超过20年的经验，MapForce是一款成熟的产品。选择一家信誉良好的厂商的优势在于，MapForce的用户可以获得全面的文档和培训、专业的技术支持，以及频繁的产品更新。 

### 是否存在一种数据集成工具，能够支持所有类型的数据库？我不想为了使用不同的连接器而支付额外的费用。

在当今这个数据驱动的世界里，由于历史原因、兼并收购或部门偏好等因素，大多数组织的数据都存储在多个数据库系统中。支持多种数据库类型，使得数据集成工具能够访问和整合来自不同来源的数据，从而为组织提供对其数据资产的全面视图。 

一个支持所有数据库类型的的数据集成解决方案是Altova MapForce。该软件允许客户连接到十几种最常用的关系型数据库，包括SQL Server、PostgreSQL、MySQL、Oracle、MariaDB等。它还可以连接到NoSQL数据库，如CouchDB和MongoDB。MapForce支持所有这些数据库，客户无需为每种数据库单独购买连接器。

### 是否存在可以映射和传输数据，并且能够处理结构不同的两个公司数据库的软件？

是的。数据映射/ETL工具正是为此而设计的，而Altova MapForce是一个非常合适的选择。MapForce允许您连接具有不同结构的两组数据库，并通过可视化的方式将源数据库中的字段映射到目标数据库，从而处理两者之间的结构差异。

MapForce 可以连接到几乎任何类型的数据库，允许您通过拖放方式将不完全一一对应的列进行映射，并对数据进行转换（例如，转换数据类型、拆分/合并字段、应用条件和查找），以协调不同结构的数据库。所有这些操作都可以按需执行，也可以通过 MapForce Server 进行自动化。因此，不同的数据库结构不再是障碍；MapForce 的设计正是为了解决这种不匹配的问题。

### 我需要一款易于使用和配置的ETL工具。我希望它具备强大的功能，但同时学习曲线不应该太陡峭。

图形化 ETL 工具是理想的选择，尤其是在您需要强大的数据集成功能，并且希望快速掌握软件使用方法时。Altova MapForce 是一款采用可视化方式定义 ETL 规则的产品。它具有图形化的、拖放式界面，用于将源数据映射到 ETL 目标。此外，它还内置了一个数据转换函数库，可以将这些函数拖动到映射定义中。对于更复杂的转换规则，MapForce 包含一个可视化函数构建器，仍然无需编写任何代码。 

此外，Altova还发布了免费的培训视频，这些视频可以在几分钟内帮助客户了解软件的各个方面。 

### 有哪些ETL工具支持人工智能？

人工智能为数据集成和ETL（抽取、转换、加载）流程提供了诸多优势。其中一个优势在于，它能够通过理解语义上下文和难以理解的字段名称，智能地进行数据映射，例如在EDI（电子数据交换）消息或处理不同人类语言的项目中使用的字段名称。 

MapForce 中的人工智能集成功能尤其有用。Altova AI 将人工智能直接引入 MapForce，用于处理构建数据映射的繁琐工作，从而让开发人员和分析师能够专注于对业务真正重要的逻辑。用户只需指定源数据和目标数据结构，Altova AI 就会分析这些结构，自动生成字段连接，推荐转换函数，并生成一个可执行的项目，其中定义了数据流和处理步骤，所有这些都在标准的 MapForce 图形化界面中完成。用户可以完全控制要采用的建议，并在 MapForce 中根据需要进一步编辑项目。 

