I
integrasoftware
Guest
Im use Infragistics now. Old Method: DEFINE VARIABLE oBook As Microsoft.Office.Interop.Excel.Workbook. DEFINE VARIABLE oSheet As Microsoft.Office.Interop.Excel.Worksheet. DEFINE VARIABLE colIndex AS INTEGER. DEFINE VARIABLE Rowindex AS INTEGER. Dynamic-qry = hDataset:TOP-NAV-QUERY. Dynamic-qry:QUERY-OPEN(). Dynamic-Bf = Dynamic-qry:GET-BUFFER-HANDLE(1). Dynamic-qry:GET-FIRST. CREATE "Excel.Application" oExcel. oExcel:SheetsInNewWorkbook = 1. oBook = oExcel:Workbooks:Add(). oSheet = oExcel:sheets:Item(1). REPEAT colIndex = 1 TO Dynamic-Bf:NUM-FIELDS: oExcel:Cells(1, colIndex):Value = Dynamic-Bf:BUFFER-FIELD(colIndex):NAME. oexcel:Cells(1, colIndex):Borders:LineStyle = 1. oexcel:Cells(1, colIndex):Font:Bold = TRUE. oexcel:Cells(1, colIndex):Interior:ColorIndex = 35. END. Rowindex = 1. /* Primer Row es Titulos */ /* */ REPEAT: Rowindex = Rowindex + 1. REPEAT colIndex = 1 TO Dynamic-Bf:NUM-FIELDS: IF Dynamic-Bf:BUFFER-FIELD(colIndex):Type = "DECIMAL" THEN oexcel:Cells(Rowindex, colIndex):Value = string(Dynamic-Bf:BUFFER-FIELD(colIndex):BUFFER-VALUE, ">>,>>>,>>9.9999"). ELSE oexcel:Cells(Rowindex, colIndex):Value = string(Dynamic-Bf:BUFFER-FIELD(colIndex):BUFFER-VALUE). END. Dynamic-qry:GET-NEXT. IF Dynamic-qry:QUERY-OFF-END THEN LEAVE. END. /* Autofit */ Dynamic-qry:GET-FIRST. REPEAT colIndex = 1 TO Dynamic-Bf:NUM-FIELDS: oexcel:Cells(1, colIndex):EntireColumn:Autofit(). END. RETURN TRUE.
Continue reading...
Continue reading...