-2

I have a situation where I need to export all the data available in temp table as .csv file. Below query helping me only export as .csv file but not sure how to write the logic to change the font color and cell. Please help me because I have a limited knowledge in progress 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.

OUTPUT CLOSE.

Bharat
  • 177
  • 7

2 Answers2

3

CSV dies not support any formatting instructions such as colors

Try the SYLK format instead. http://www.pindari.com/sylk.html

Mike Fechner
  • 6,627
  • 15
  • 17
1

Using Excel VBA

https://learn.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.
FloW
  • 1,211
  • 6
  • 13