通过AI快速生成Excel转换XML的代码

一、背景

在EDI数据交换中,利用Excel作为数据接口是一种成本可控、实施简便的常见方案。然而,该方案在实际使用中,即便遵循同一EDI报文标准,不同交易伙伴也常有其特定的实施指南,在数据段、循环要求、代码值等细节上存在差异,这意味着,针对每一个新的合作伙伴,都需要对Excel格式到特定报文的相互转换,进行定制化的映射与转换开发。其核心的映射与转换逻辑代码,往往仍需大量手工开发与调试,导致实施方案的复用性低、交付周期变长。

本文将基于现有的Excel转换XML代码,结合需求报文的具体规范、Mapping(字段映射关系)、Excel数据模版以及目标XML结构示例文件,系统性指导AI生成需求报文的转换代码.

本文将选择Excel到856的转换代码作为AI的学习资料,因为它在技术路径上与830任务完全同构:

  • 两者均以Excel为结构化数据源,
  • 均通过ArcScript脚本完成字段读取与逻辑组装,
  • 最终均需按目标XML严格定义的Segment顺序输出标准报文

856代码已完整实现从“数据提取”到“结构映射”再到“层级输出”的完整闭环,其变量管理、循环控制、错误处理等通用机制均可直接迁移至830场景。因此,将856作为学习范本,可以让AI更快速准确地掌握一套可复用的ArcScript转换范式,从而在面对830时,只需调整Mapping规则与结构定义,即可快速准确地生成代码。

二、输入文件

文件类型 说明
856参考代码 作用:将Excel数据转换为报文格式的XML文件
使用方法:将代码导入Excel端口即可使用
830规范文件 报文规范文件完整定义了报文的结构、字段、格式、取值规则、业务逻辑和验证要求,是开发、测试和验证报文转换代码的权威技术标准
856/830 Mapping文件 报文规范文件一般长达几十页甚至上百页,不便于开发和运维,Mapping文件的作用就是将规范文件转换为一份精炼的操作手册,只保留开发所需的核心字段、格式和规则,以及目标文件(830报文格式的XML文件)和源文件(830Excel模版)的对应关系
目标XML文件 由报文文件通过X12端口转换得到
856/830 Excel填写模版 用于业务人员填写业务数据,此模版严格规定了数据输入的格式、位置和一些校验规则,确保源数据能被转换代码准确、无歧义地读取和处理

下图为830的Excel填写模版和目标XML文件

AI-ExcelToXML-Code1.png
AI-ExcelToXML-Code2.png

三、生成Mapping文件

对于830的Mapping文件,也可以让AI根据830的规范文件生成:

指令如下:

1.上传830的规范文件
2.请根据规范文件生成一个Mapping映射表格,需要包含:业务层级、EDI段/字段、英文说明、中文说明、使用要求、最大长度、备注、Excel字段这些列,具体要求如下:

  • 仅对需要业务人员填写业务值的字段设置 Excel 字段
  • 单固定值字段不设 Excel 字段,比如:BEG01 = “00″、BEG02 = “SA”
  • 业务层级应该分为三部分,HEADER(BFR->NTE)、Item(LIN->PER,SHP->REF)、Detail(SDP->FST)
  • 对于具有多个限定符的字段(如 N1、PER、REF 等),按限定符分行列出;
    例如 N1 拆分为 BY、ST、SU、BT 等独立行;
    例如 NTE 拆分为 INV、PMT、GEN 等独立行。
    同一字段名不得重复,使用前缀区分(如 buyerCode、shipFromCode)
  • 所有固定值需说明含义(如SF = Ship From)
  • 仅包含 BEG 到 CTT 之间的段,不包含 ST 和 SE 部分
  • 以 Markdown 表格形式输出,便于直接导入 Excel使用

最后将AI生成的表格保存为.xlsx文件,查看是否有遗漏字段,确认完成即可。

四、指令

注意:本次测试基于Deepseek AI模型进行验证,其他AI工具因模型训练数据、指令理解能力及代码生成习惯的差异,实际输出效果可能略有不同,建议根据具体平台表现进行微调。

1.前期学习

https://www.kasoftware.com/help/mft/Keywords.html
https://www.kasoftware.com/help/mft/Formatters.html

让AI学习上述网页中的关键字、格式化器的内容。

  • 提供856的Mapping文件、Excel填写模版、目标XML文件和转换代码文件给AI,让AI阅读理解。
     下载相关资料
  • 提供830的报文规范文件、Mapping文件、Excel填写模版、目标XML文件给AI,让AI阅读学习。
2.发出指令
  • 请基于之前提供的856全套资料(Mapping、Excel模板、目标XML、转换代码)和本次提供的830全套资料(规范、Mapping、Excel模板、目标XML),使用ArcScript语言,生成一个能将830的Excel文件转换为830目标XML文件的代码文件
  • 所有变量必须在使用前显示定义,变量名格式必须为:item.name

例如:

中不能加注释

中的正确取值如下:

(1)映射时跳过Excel中含有中文的行和列
(2)orderNo到payment 等字段应该取它们下面一行的值,例:
map:orderNo = “B4″
map:payment = “J4″
(3)billToName到billToCountry等字段应该取右侧相邻列值,例:billToName= “C8″
billToCountry= “C14″
supplier、buyer、shipTo、fillShipOrder等部分也一样,以此类推
(4)lineItemNo到linefreeText等字段应该取它们下面多行的值,比如:map:lineItemNo = “B18:B*”

  • 生成的XML必须严格遵循你收到的830目标XML文件中的 Segment 顺序,禁止添加或者删除任何Segment
  • 使用的所有语法必须严格基于如下网址中定义的关键字和格式化器,不得使用下列文档中不存在的任何格式化器、关键字或语法

https://www.kasoftware.com/help/mft/Keywords.html
https://www.kasoftware.com/help/mft/Formatters.html

五、测试

1.在知行之桥搭建如下工作流,包括一个Excel端口和一个X12端口

AI-ExcelToXML-Code3.png

X12端口的转换类型须选择XML转换为X12。

AI-ExcelToXML-Code4.png

2.将AI生成的转换代码保存为一个XML文件,建议命名:830_ExcelToXML.xml
3.在Excel端口上传AI生成的830转换代码

AI-ExcelToXML-Code5.png

4.在830Excel模版中填充测试数据用于测试代码
5.在Excel端口的输入处上传测试文件,检查生成的目标XML文件数据是否和Excel数据一一对应。
6.在X12端口查看目标XML文件是否可以正确生成对应的830报文文件。

了解更多 EDI 信息,请您通过邮件 sales@kasoftware.cn 联系我们。点击下方蓝色按钮,即可免费试用 EDI 软件。

注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

标签: , , ,
文章分类 帮助文档, 常见问题和回答, 知识库