【问题标题】:Progress 4GL - change font color of specific values while exporting them as .csv fileProgress 4GL - 在将特定值导出为 .csv 文件时更改它们的字体颜色
【发布时间】:2021-11-12 20:54:34
【问题描述】:

我有一种情况,我需要将临时表中的所有可用数据导出为 .csv 文件。下面的查询帮助我仅导出为 .csv 文件,但不确定如何编写逻辑来更改字体颜色和单元格。请帮助我,因为我对 4GL 的了解有限。

DEFINE TEMP-TABLE tt_data NO-UNDO
  FIELD cData1 AS CHARACTER
  FIELD cData2 AS CHARACTER
.
CREATE tt_data.
ASSIGN
    cData1 = "FORD"
    cData2 = "TATA"
.

OUTPUT TO "C:\temp\test.csv".

FOR EACH tt_data NO-LOCK:
  EXPORT DELIMITER "," tt_data.
END.

输出关闭。

【问题讨论】:

  • csv = 逗号分隔的,没有样式。

标签: openedge progress-4gl


【解决方案1】:

使用 Excel VBA

https://docs.microsoft.com/en-us/office/vba/api/overview/excel

DEFINE TEMP-TABLE tt_data NO-UNDO
  FIELD cData1 AS CHARACTER
  FIELD cData2 AS CHARACTER
.
CREATE tt_data.
ASSIGN
    cData1 = "FORD"
    cData2 = "TATA"
.

DEFINE VARIABLE vExcApp    AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vWrkBok    AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vWrkSht    AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vWrkRng    AS COM-HANDLE NO-UNDO.

DEFINE VARIABLE iCnt AS INTEGER    NO-UNDO INIT 0.

CREATE "Excel.Application" vExcApp NO-ERROR.   
IF ERROR-STATUS:ERROR OR NOT VALID-HANDLE(vExcApp) THEN
DO:
    MESSAGE "Excel Application not installed"
        VIEW-AS ALERT-BOX ERROR BUTTONS OK.
    RETURN.
END.

vExcApp:VISIBLE = FALSE. 
vWrkBok = vExcApp:Workbooks:ADD. 
vWrkSht = vExcApp:Sheets:ADD.

FOR EACH tt_data NO-LOCK:

   iCnt = iCnt + 1.

   vWrkRng = vWrkSht:Range("A" + STRING(iCnt)).
   vWrkRng:VALUE = tt_Data.cData1.
   vWrkRng:Interior:Color = RGB-VALUE (240,240,240).

   vWrkRng = vWrkSht:Range("B" + STRING(iCnt)).
   vWrkRng:VALUE = tt_Data.cData2.
   vWrkRng:Interior:Color = RGB-VALUE (240,0,240).

END.


vExcApp:VISIBLE = TRUE. 

IF VALID-HANDLE(vWrkRng) THEN RELEASE OBJECT vWrkRng. 
IF VALID-HANDLE(vWrkSht) THEN RELEASE OBJECT vWrkSht. 
IF VALID-HANDLE(vWrkBok) THEN RELEASE OBJECT vWrkBok.
IF VALID-HANDLE(vExcApp) THEN RELEASE OBJECT vExcApp.

【讨论】:

    【解决方案2】:

    CSV 模具不支持任何格式指令,例如颜色

    改用 SYLK 格式。 http://www.pindari.com/sylk.html

    【讨论】:

      猜你喜欢
      • 2021-04-16
      • 1970-01-01
      • 2013-04-02
      • 2023-03-20
      • 2017-10-27
      • 1970-01-01
      • 2018-02-26
      • 2018-06-04
      • 1970-01-01
      相关资源
      最近更新 更多