Yes you can. But it will be simple for you if you use Oracle Report(10g).
1>Just build the report. and set
>when i m using OLE2 object on button triger excel report generate on server machine
You can use client_ole2 (in webutil) instead, but only for small reports. If the report output gets too big, client_ole2 will be too slow. In that case it is better to use ole2 to create the output on the server, and copy the output to the PC (using webutil_file_transfer.as_to_client).