在代码页 ISO8859-1 (12008) 的数据中找到无效的字符代码

Invalid character code found for in data for codepage ISO8859-1 (12008)

我使用 progress 4gl 语言创建了一个新的 window 应用程序。此应用程序的范围是加载 excel sheet 并解析数据。但是我在解析 data.Let 时遇到了一些问题,我分享了我尝试过的查询

DEFINE VARIABLE cPartData AS LONGCHAR.
DEFINE VARIABLE gc_FileName            AS CHARACTER  NO-UNDO.
DEFINE VARIABLE gl_OKpressed           AS LOGICAL    NO-UNDO INITIAL TRUE.

DO WITH FRAME {&FRAME-NAME}:
    SYSTEM-DIALOG GET-FILE gc_FileName
        TITLE      "Select Excel File ..."
        FILTERS    "Source Files (*.xlsx)"   "*.xlsx"
        MUST-EXIST
        USE-FILENAME
        UPDATE gl_OKpressed.
    IF gl_OKpressed = TRUE THEN
    DO:
        fiLoadOrderFile:SCREEN-VALUE = gc_FileName.
        COPY-LOB FROM FILE gc_FileName TO cPartData .
        RUN DisplayStatus("Raw Data Copy Completed").
    END.    
END.

END PROCEDURE.

但我遇到的问题是 "Invalid character code found in data for codepage ISO8859-1"。

我以为 excel 文件已加密,但所有数据都是可见的。

请问您能帮忙处理一下吗?

这是行不通的。 .xlsx 文件不能在 OpenEdge 中直接解析。您需要提取数据。使用 COM 对象或 Windows 中更好的 .Net 有多种方法可以做到这一点。您可以将数据保存为 .csv 文件并对其进行解析。