> ## 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](./edi850-csv)
* [將 MySQL 輸出轉換為 EDI](./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 端口](../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](../connectors/x12) 端口用於 X12 文件，[EDIFACT](../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](../connectors/x12)、[EDIFACT](../connectors/edifact)、[EANCOM](../connectors/eancom) 等）。本指南以 X12 810（發票）作為 EDI 文件範例。X12 端口前面是一個觸發端口（以下範例中為 [AS2](../connectors/as2)），它接收 X12 810 文件並直接傳遞給 X12 端口。但您的使用場景可能需要不同的觸發端口，例如 [SFTP](../connectors/sftp)。有關可能適合使用場景的端口型別的更多資訊，請參閱 [端口類別](../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 端口 **設定** 索引標籤的 [交換設定](../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。

新增一個終端端口例項（上圖未顯示），作為工作流程的最後一個端口。此使用場景常用的終端端口是 [檔案](../connectors/file) 端口，可將完成的檔案放置到磁碟路徑上。有關可能適合使用場景的端口型別的更多資訊，請參閱 [端口類別](../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。有關端口型別的更多資訊，請參閱 [端口類別](../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 文件](../connectors/x12)。本範例中的 X12 端口設計為直接連線到終端端口。通常使用 [AS2](../connectors/as2)，但也可以使用其他 [MFT 端口](../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 表格中刪除行通常比新增新行更容易。
