【问题标题】:How to export Fields to CSV in OPENEDGE如何在 OPENEDGE 中将字段导出为 CSV
【发布时间】:2018-01-31 09:45:30
【问题描述】:

美好的一天

我有一个两部分的问题。目前我有一个表列表,其数据需要导出到 csv。我的代码在这里:

def temp table tt-table
field f1 as int
field f2 as char
field . . . .

output to value(session:temp-directory + "temp.csv").

put f1 at 1
"," f2. . .       

 output close.

有没有办法自动执行此操作或缩短此代码?每个表平均有30-40个字段,需要导出5个表。

第二部分:

如果我将它们导入回我们的系统,是否可以根据字段数量及其对应的变量类型动态创建变量?

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    您可以使用IMPORTEXPORT 语句。要将临时表导出到 CSV 文件,请使用以下代码:

    OUTPUT TO VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
    
    FOR EACH tt-table NO-LOCK:
        EXPORT tt-table.      
    END.
    
    OUTPUT CLOSE.
    

    我不知道从文件中动态构建临时表的方法。但要将文件导入同一个表,请执行以下操作:

    INPUT FROM VALUE(SESSION:TEMP-DIRECTORY + "temp.csv").
    
    REPEAT:
        CREATE tt-table.
        IMPORT tt-table.
    END.
    
    INPUT CLOSE.
    

    【讨论】:

    • 谢谢您的回复。我尝试了出口,它就像一个魅力。但是当我用记事本打开它时,没有分隔符。我可以用分隔符“,”分配它吗?没有引号。谢谢
    • 谢谢。我得到了导出部分并为其添加了分隔符。将尝试导入谢谢。
    • @noob EXPORT DELIMITER "," tt-table 会这样做。
    • 谢谢。我早就知道了。我还有另一个问题,但与这个问题无关。谢谢
    • 您好,感谢您的回答。当我导出时,在最后一行数据之后还有一个额外的下一行,当我导入时它会创建一个空的数据行。如何在不编辑导出文件的情况下将其删除?我对此的临时解决方法是在导入后添加一个 DELETE tt-table,但这非常危险。有什么建议吗?
    猜你喜欢
    • 2021-04-05
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多