> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EDI 快速入门 - 使用 Excel

> 使用知行之桥内置模板将 EDI 文档转换为样式化 Excel 电子表格，并从 Excel 生成 EDI。

export const siteNameShort = "知行之桥";

export const siteName = "知行之桥";

将 EDI 文档可视化为 Excel 电子表格是 EDI 集成入门最快的方法之一。这个 EDI 到 Excel 的流程可能是更复杂 EDI 集成的前置步骤，也可能是在熟悉环境中处理 EDI 文档的长期解决方案。

{siteName} Excel 端口带有内置模板，用于将 EDI 文档呈现为样式化的 Excel 工作表，并将这些 Excel 工作表转换为 EDI 文档。本指南说明了如何快速开始使用这些模板且不需要任何自定义映射或自定义逻辑的 EDI 工作流。

{siteNameShort} 还包括功能强大的映射工具，可将 EDI 数据转换为许多不同的格式。以下两个 指南可作为更复杂 EDI 映射项目的参考：

* [将 EDI 映射到 CSV](/26.2/self-hosted/zh/how-to/edi850-csv)
* [将 MySQL 输出转换为 EDI](/26.2/self-hosted/zh/how-to/mysql-edi810)

## 概览

本指南涵盖以下内容：

* 将传入的 EDI 文件转换为样式化的 Excel 工作表
* 通过将数据插入 Excel 单元格来生成新的 EDI 文档

本节简要介绍所涉及的概念，以下各节将逐步介绍创建 {siteNameShort} 工作流的过程，该工作流可以双向完成 EDI 和 Excel 的相互转换。

### 视频资源

观看此简短视频，了解如何使用 {siteNameShort} 在 Excel 中可视化 EDI 数据。

<iframe width="560" height="315" src="//player.bilibili.com/player.html?aid=531220399&bvid=BV1Yu411V7J5&cid=1203012450&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" />

### EDI 转 Excel

[Excel 端口](/26.2/self-hosted/zh/connectors/excel) 预配置了一个模板 Excel 文件，可将 EDI XML 转换为样式美观、格式规范的 Excel 表格。该模板文件使得 EDI 文档无需任何自定义配置或映射，即可在 Excel 中呈现。

Excel 端口还支持生成测试 EDI XML 文件，以便立即转换为样式化的 Excel 表格。快速开始在 Excel 中可视化 EDI 的最简单方式是使用以下两个功能创建测试 Excel 表格：

* 在端口的 **设置** 选项卡，将 **转换类型** 设置为 **模板**，然后选择 EDI\_XML\_to\_XLSX\_styled\_template.xlsx 作为 **模板文件**
* 在 **交易** 选项卡，使用 **更多 > 创建测试文件** 创建两个测试文件
* 在 **交易** 选项卡，点击端口生成的 .xlsx 文件链接

<Note>您无法在 {siteNameShort} 中预览二进制消息内容，因此请点击显示消息上的下载按钮，然后在 Excel 中打开文件。输出结果应类似于下图：</Note>

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi-excel_excel_output.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=99eba836107d2303327338546ca8182d" alt="Sample EDI-to-Excel output" width="700" data-path="public/images/edi-excel_excel_output.png" />

**创建测试文件** 选项有助于快速上手。但通常更有用的是从实际生产 EDI 数据生成样式化的 Excel 表格，而不是使用端口附带的测试文件。要实现此目的，请保持 **模板文件** 设置为 EDI\_XML\_to\_XLSX\_styled\_template.xlsx，同时按照以下额外步骤生成更相关的输入文件。

首先，需要将样本 EDI 数据转换为 XML，因为 {siteNameShort} 使用 XML 作为操作和转换数据的中间格式。将样本 EDI 文档转换为 XML 需要一个与 EDI 文档类型匹配的 EDI 端口（例如，[X12](/26.2/self-hosted/zh/connectors/x12) 端口用于 X12 文档，[EDIFACT](/26.2/self-hosted/zh/connectors/edifact) 端口用于 EDIFACT 文档）。这些端口除了将 EDI 转换为 XML 以及从 XML 转换回 EDI 外，还会验证 EDI 文档的结构，并可选地验证 EDI 交换头。

EDI 文档转换为 XML 后，将其上传到 Excel 端口的 **交易** 选项卡。请记住，保持模板文件设置为 EDI\_XML\_to\_XLSX\_styled\_template.xlsx，该模板会将 XML 转换为样式化的 Excel 表格。可以从 **交易** 选项卡下载转换后的文件进行查看。

有关如何创建 {siteNameShort} 工作流以从自定义 EDI 数据生成 Excel 表格的详细信息，请参阅 [创建 EDI 到 Excel 工作流](#创建-edi-到-excel-工作流)。

### Excel 转 EDI

如上所述，Excel 端口包含一个模板文件，用于将 EDI XML 转换为样式化的 Excel 表格。该端口还包含另一个模板文件，可将此样式化的 Excel 表格转换回 XML。这意味着可以将自定义 EDI 数据输入到样式化的 Excel 表格中，转换为 XML，然后再转换为 EDI 文档。

这是一种将数据转换为 EDI 的简便方法：将相关数据插入适当的 Excel 表格，{siteNameShort} 会使用此表格生成 EDI 文档。

由于数据应输入到与 Excel 端口模板匹配的样式化 Excel 表格中，因此第一步是生成适当格式的 Excel 表格。从 Excel 表格生成 EDI 文档的完整流程如下：

1. 从一个样本 EDI 文档开始
2. 将样本 EDI 文档转换为 XML（使用 X12 或 EDIFACT 端口等）
3. 使用 Excel 端口附带的模板文件（EDI\_XML\_to\_XLSX\_styled\_template.xlsx）将生成的 XML 转换为 Excel 表格
4. 将生成的包含样本数据的 Excel 表格保存（例如 sample\_excel.xlsx）
5. 将 sample\_excel.xlsx 中的数据替换为生产数据
6. 使用 Excel 端口的 EDI\_XLSX\_to\_XML\_template.xml 模板文件将生产电子表格转换回 XML
7. 将生成的 XML 转换为 EDI 文档（再次使用 X12 或 EDIFACT 端口等）
8. 对于未来的 EDI 文档，重新加载 sample\_excel.xlsx 文件并重复步骤 5-7

以下章节详细说明如何创建 {siteNameShort} 工作流以实现 EDI 与 Excel 之间的相互转换。

## 创建 EDI 到 Excel 工作流

如 [EDI 转 Excel](#edi-转-excel) 中所述，将 EDI 转换为 Excel 的第一步是将 EDI 转换为 XML。

### 步骤 1：EDI 端口

将 EDI 文档转换为 XML 需要一个特定 EDI 文档类型的端口（[X12](/26.2/self-hosted/zh/connectors/x12)、[EDIFACT](/26.2/self-hosted/zh/connectors/edifact)、[EANCOM](/26.2/self-hosted/zh/connectors/eancom) 等）。本指南以 X12 810（发票）作为 EDI 文档示例。X12 端口前面是一个触发端口（以下示例中为 [AS2](/26.2/self-hosted/zh/connectors/as2)），它接收 X12 810 文档并直接传递给 X12 端口。但您的使用场景可能需要不同的触发端口，例如 [SFTP](/26.2/self-hosted/zh/connectors/sftp)。有关可能适合使用场景的端口类型的更多信息，请参阅 [端口类别](/26.2/self-hosted/zh/connectors/connectors#categories)。

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_1.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=03e19ddbc036098487a970eb4ca9360c" alt="EDI to Excel flow with AS2 and X12 connectors" width="800" data-path="public/images/edi_excel_1.png" />

在 X12 端口 **设置** 选项卡的 [交换设置](/26.2/self-hosted/zh/connectors/x12#interchange-settings) 部分，将 **使用指示符** 设置为 **T-Test Data**。这会禁用交换验证，使生成样本文档的过程更简单（基于 EDIFACT 的端口中对应的字段为 **测试指示符**，应启用以复制此行为）。

在 X12 端口的 **高级** 选项卡，使用 **生成描述为** 设置决定是否在生成的表格中包含每个 EDI 元素的描述。该设置的默认值为 **XML 注释**，而 XML 注释不会被 Excel 模板读取，因此描述不会出现在样式化的 Excel 表格中。将此设置更改为 **元素属性**，模板即可解析描述值并将其包含在生成的 Excel 表格中。

### 步骤 2：Excel 端口

接下来，将 X12 端口连接到 Excel 端口，以便将 XML 文件传递给 Excel 端口。

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_2.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=62a8c8bf9659fb7659d82de5e9b7d356" alt="X12 connector connected to Excel connector" width="700" data-path="public/images/edi_excel_2.png" />

在 Excel **设置** 选项卡，将 **模板文件** 设置为 EDI\_XML\_to\_XLSX\_styled\_template.xlsx。

添加一个终端端口实例（上图未显示），作为工作流的最后一个端口。此使用场景常用的终端端口是 [文件](/26.2/self-hosted/zh/connectors/file) 端口，可将完成的文件放置到磁盘路径上。有关可能适合使用场景的端口类型的更多信息，请参阅 [端口类别](/26.2/self-hosted/zh/connectors/connectors#categories)。

### 步骤 3：测试 EDI 到 Excel 工作流

现在可以向工作流发送样本 EDI 文件。在 X12 端口 **交易** 选项卡点击 **更多 > 创建测试文件** 生成样本 810 文档。

<Tip>可以在 X12 端口中生成 810、850、855 和 856 的样本文档。如果需要其他文档类型，必须从其他地方上传。</Tip>

将样本文档通过工作流发送后，Excel 端口的输出应类似于下图：

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi-excel_excel_810_output.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=cbeed01a379735f941421abdd584631d" alt="Excel output showing a styled X12 810 invoice" width="700" data-path="public/images/edi-excel_excel_810_output.png" />

现在，只要将任何标准 X12 文档输入到此工作流的开头，即可将其转换为如上图所示的样式化 Excel 表格。

## 创建 Excel 到 EDI 工作流

如 [Excel 转 EDI](#excel-转-edi) 中所述，创建 Excel 到 EDI 工作流的第一步是生成样本 Excel 表格。要生成此表格，请按照 [创建 EDI 到 Excel 工作流](#创建-edi-到-excel-工作流) 中的步骤进行。该工作流生成的样式化 Excel 表格即作为样本 Excel 表格。以下步骤说明如何从 Excel 表格创建 X12 810 发票文件。

<Note>如果需要多种类型的 EDI 文档（例如 810 发票 *和* 850 采购订单），则需为每种文档类型创建样本 Excel 表格。</Note>

生成样本 Excel 表格后，即可配置 Excel 到 EDI 工作流。该工作流与上述工作流分开，但类似。

### 步骤 1：Excel 端口

首先，向工作流添加一个 Excel 端口。Excel 端口前面是一个触发端口（以下示例中为 File）。您的使用场景可能需要不同的触发端口，例如 SFTP。有关端口类型的更多信息，请参阅 [端口类别](/26.2/self-hosted/zh/connectors/connectors#categories)。

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_3.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=4a942f0319c0fb8cfc4b2af0a9d66c7f" alt="Excel to EDI flow with File and Excel connectors" width="800" data-path="public/images/edi_excel_3.png" />

在 Excel 端口的 **设置** 选项卡，将 **模板文件** 设置为 EDI\_XLSX\_to\_XML\_template.xml。

### 步骤 2：EDI 端口

接下来，将 Excel 端口连接到 X12 端口（其他 EDI 工作流可能使用 EDIFACT 或 EANCOM 端口）：

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_4.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=3eb9525d1c1c2960ae69adeae2791c3e" alt="Excel connector connected to X12 connector" width="800" data-path="public/images/edi_excel_4.png" />

在 **设置** 选项卡，将 **转换类型** 设置为 **XML 到 X12**。更多信息请参阅 [X12 文档](/26.2/self-hosted/zh/connectors/x12)。本示例中的 X12 端口设计为直接连接到终端端口。通常使用 [AS2](/26.2/self-hosted/zh/connectors/as2)，但也可以使用其他 [MFT 端口](/26.2/self-hosted/zh/connectors/mft-connectors)。

### 步骤 3：测试 Excel 到 EDI 工作流

配置好工作流后，匹配样本 Excel 表格格式的 Excel 文档即可通过工作流生成 EDI 文档。可以通过上传样本 Excel 表格到 Excel 端口进行快速测试。在 Excel 端口 **交易** 选项卡，选择 **更多 > 上传文件** 并浏览到样本表格。

Excel 端口生成代表 EDI 文档的 XML。以下是 X12 810 文档的 XML 部分示例：

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_5.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=8f946e7090c615246b69a8548d704c80" alt="XML output from the Excel connector" width="600" data-path="public/images/edi_excel_5.png" />

X12 端口将此 XML 转换为 EDI 格式，并根据 X12 端口的 **交换设置** 应用交换头。最终输出应类似于下图（默认以打印视图打开，但可切换到 **原始视图** 查看原始数据）：

<img src="https://mintcdn.com/qiao/Pa-LScG1ebkabWPi/public/images/edi_excel_6.png?fit=max&auto=format&n=Pa-LScG1ebkabWPi&q=85&s=d7011345359c4c110311a1d751808c65" alt="Final X12 810 output from the flow" width="800" data-path="public/images/edi_excel_6.png" />

确认工作流能将样本 Excel 表格转换为所需的 EDI 格式后，即可将 Excel 表格中的具体值替换为实际生产数据，并使用相同工作流将生产数据转换为 EDI。

#### 调整样本 Excel 表格

某些 EDI 文档需要向样本 Excel 表格中添加或删除行。例如，EDI 采购订单可能具有不同数量的行项目（PO1 循环），这些数量并不总是与样本 Excel 表格中的行项目数量匹配。

在这种情况下，如果需要更多循环，则向 Excel 表格插入行；如果需要更少循环，则删除行。这确保电子表格结构与 EDI 文档结构匹配。

鉴于某些 EDI 循环可能需要以可预测的方式添加或删除，最佳实践是从包含更多可能区段和循环重复（而不是更少）的样本 EDI 文档开始，因为从样本 Excel 表格中删除行通常比添加新行更容易。
