You cannot concatenate into the variable you DEFINE. Thats why it doesn't append your '.xls' to the filename. Try selecting into it:

Select 'D:\...\cgbill'||&v_date||'.xls' into v_file_name from dual;