java - 使用Java将Excel转换为基于CopyBook格式的可变长度数据文件

标签 java cobol copybook

我正在尝试将 Excel 转换为具有可变长度格式的 COBOL 数据文件。我能够将 Excel 转换为制表符格式的文本文件。该数据文件涉及约400个字段。我不尝试为每个数据 block 设置 block 长度,而是喜欢在代码中利用 copybook 文件将数据转换为可变长度。我想知道是否有任何框架或建议可以实现这一目标。

部分字帖格式

 05 EXTR-PRI-APPLICANT-DATA.
          10 EXTR-PRI-SOC-SEC-TAX-ID-NUM           PIC X(09).
          10 EXTR-PRI-FIRST-NAME                   PIC X(15).
          10 EXTR-PRI-MIDDLE-INITIAL               PIC X(01).
          10 EXTR-PRI-LAST-NAME                    PIC X(25).
          continues for 400 fields.   

最佳答案

哪种Cobol方言???。对于不同的 Cobol 编译器,数值数据的格式是不同的。还有相关questionanother question

无论如何,看看这些 java 项目:

  • JRecord它基于 RecordEditor 的代码。该项目可以使用 Cobol Copybook 读取和写入文件。它还可以处理同一文件中的多种记录格式。如果只是单一记录格式的话还有Csv2Cobol公用事业。 JRecord 非常适合基于 Cobol Copybook 的通用实用程序
  • Cobol2J - 如果文件中有多种记录格式,可能会出现问题。
  • Cb2xml - 该包将读取 Cobol copybook 并将其转换为 Xml。 Xml 包含所有 Cobol 字段以及起始位置、长度图片定义。最新版本有用于处理 Xml 的 JaXB 示例代码。 Cb2xmlJRecordCobol2J 以及一些商业包使用,例如Stirling Map editor , CA DevTest Solutions
  • legstar
  • 还有其他开源项目,但大多数都需要比上述更多的工作。
  • 有多个商业软件包可以与大型机 Cobol 文件相互转换。例如IBM 有可以为 Cobol 文件生成 Java 类的软件包。不过大多数都很贵。

以上所有内容都将处理 IBM 大型机 Cobol; JRecord 为其他 Cobol 编译器提供有限的支持。

比尔无疑会提到,如果您选择上述任何一项,您将需要满足使用的审核员的要求。也就是说,JRecordCb2XmlLegstar 用于商业包或大型开源 转型项目。 此外,Legstar 似乎正在变得半商业化,因此请检查许可证。

<小时/>

披露:我编写了 JRecord、RecordEditor,并与 Peter 和 Jean-Francois 一起帮助编写了 Cb2Xml

关于java - 使用Java将Excel转换为基于CopyBook格式的可变长度数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774389/

相关文章:

java - 在命令行运行 PEPK 应用程序签名工具时出错 (java -jar pepk.jar)

Java ZK从iframe传递参数到ZUL不同的服务器

java - 如何使用 Java 中的 JRecord 识别抄写本中字段的级别?

java - 从 Java 读取 COBOL 数据结构

java - COBOL copybook 中的字符串长度

java - 无冲突计算整数数组散列的最快方法

`System.out.println()` 方法调用上的 Java 语法错误

windows - 替换字符串中的字符

web-services - 是否可以使用 Cobol 程序中的 Web 服务?

Cobol - 写入的结束符?