Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

how to wrap text in OLE package

569251Oct 20 2009 — edited Oct 21 2009
hi guys,

I am using oracle forms 6i ,one of the user requirements is to export the data in the block to excel file ,i am using the following code:
PROCEDURE EXPORT_TO_EXCEL IS

application OLE2.OBJ_TYPE;

workbooks OLE2.OBJ_TYPE;

workbook OLE2.OBJ_TYPE;

worksheets OLE2.OBJ_TYPE;

worksheet OLE2.OBJ_TYPE;

cell OLE2.OBJ_TYPE;

range OLE2.OBJ_TYPE;

range_col OLE2.OBJ_TYPE;

args OLE2.LIST_TYPE;

arg1 OLE2.LIST_TYPE;

form_name VARCHAR2(100);

f_block VARCHAR2(100);

l_block VARCHAR2(100);

f_item VARCHAR2(100);

l_item VARCHAR2(100);

cur_block VARCHAR2(100) := 'CSA_V_CONTRACT';

cur_item VARCHAR2(100) := NAME_IN('system.current_item');

cur_record VARCHAR2(100) := NAME_IN('system.cursor_record');

item_name VARCHAR2(100);

baslik VARCHAR2(100);

filename VARCHAR2(100);

row_n NUMBER;

col_n NUMBER;

BEGIN

-- Start Excel

application := OLE2.CREATE_OBJ('Excel.Application');

OLE2.SET_PROPERTY(application, 'Visible', 'True');





workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');

workbook := OLE2.GET_OBJ_PROPERTY(workbooks, 'Add');

worksheets := OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');



args := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG(args, 1);

worksheet := OLE2.GET_OBJ_PROPERTY(worksheets, 'Item', args);





OLE2.DESTROY_ARGLIST(args);

GO_BLOCK('CSA_V_CONTRACT');

baslik := GET_BLOCK_PROPERTY('CSA_V_CONTRACT', FIRST_ITEM);

f_item := 'CSA_V_CONTRACT' || '.' || GET_BLOCK_PROPERTY('CSA_V_CONTRACT', FIRST_ITEM);

l_item := 'CSA_V_CONTRACT' || '.' || GET_BLOCK_PROPERTY('CSA_V_CONTRACT', LAST_ITEM);

FIRST_RECORD;

LOOP

item_name := f_item;

row_n := NAME_IN('SYSTEM.CURSOR_RECORD');

col_n := 1;

LOOP

IF GET_ITEM_PROPERTY(item_name,ITEM_TYPE) !='BUTTON' OR GET_ITEM_PROPERTY(ITEM_NAME,ITEM_TYPE)!='CHECKBOX' THEN

IF row_n = 1 THEN

baslik := NVL(GET_ITEM_PROPERTY(item_name, PROMPT_TEXT), baslik);

args := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG(args, row_n);

OLE2.ADD_ARG(args, col_n);

cell := OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);

---- ole2.set_property(cell, 'WrapText', 'True'); ----FOR TESTING ONLY

OLE2.DESTROY_ARGLIST(args);

OLE2.SET_PROPERTY(cell, 'Value', baslik);

OLE2.RELEASE_OBJ(cell);

END IF;

args := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG(args, row_n + 1);

OLE2.ADD_ARG(args, col_n);

cell := OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);

OLE2.DESTROY_ARGLIST(args);

IF GET_ITEM_PROPERTY(ITEM_NAME,DATATYPE) = 'NUMBER' THEN

OLE2.SET_PROPERTY(cell, 'NumberFormat', '@');

END IF;

IF GET_ITEM_PROPERTY(item_name, DATATYPE) = 'CHAR' THEN

OLE2.SET_PROPERTY(cell, 'Value', '''' || NAME_IN(item_name));

ELSE

OLE2.SET_PROPERTY(cell, 'Value', NAME_IN(item_name));

END IF;

OLE2.RELEASE_OBJ(cell);

col_n := col_n + 1;

END IF;

IF item_name = l_item THEN

EXIT;

END IF;

baslik := GET_ITEM_PROPERTY(item_name, NEXTITEM);

item_name := 'CSA_V_CONTRACT'|| '.' || GET_ITEM_PROPERTY(item_name, NEXTITEM);

END LOOP;

EXIT WHEN NAME_IN('system.last_record') = 'TRUE';

NEXT_RECORD;

END LOOP;



range := OLE2.GET_OBJ_PROPERTY(worksheet, 'UsedRange');

range_col := OLE2.GET_OBJ_PROPERTY(range, 'Columns');

OLE2.INVOKE( range_col, 'AutoFit' );

ole2.INVOKE(RANGE_COL,'Wraptext');----FOR TESTING



/**********************************************************/

----OLE2.INVOKE(application,'Save');



OLE2.INVOKE(application,'Quit');



/****************************************************************/

OLE2.RELEASE_OBJ(range);

OLE2.RELEASE_OBJ(range_col);

OLE2.RELEASE_OBJ(worksheet);

OLE2.RELEASE_OBJ(worksheets);

OLE2.RELEASE_OBJ(workbook);

OLE2.RELEASE_OBJ(workbooks);



OLE2.RELEASE_OBJ(application);



GO_BLOCK(cur_block);

GO_RECORD(cur_record);

GO_ITEM(cur_block || '.' || cur_item);



END;

the data is exported on the excel file but i need to wrap the text in case if it is too long ,can anaybody help on this and where to place it in the code .
thanks in advance,

Ahmed.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 18 2009
Added on Oct 20 2009
6 comments
1,293 views