In APEX 4.2, reports with
some Chinese and other language characters gets replaced with inverted question
marks if downloaded. This issue can be fixed using the below method.
some Chinese and other language characters gets replaced with inverted question
marks if downloaded. This issue can be fixed using the below method.
Steps:
1 Create a new blank page in the application.
Create a new blank page in the application
using Customized template by removing all the contents in the page, like
navigation menus, APEX page Toolbar, and others as the entire page will be
downloaded as a native Excel Spreadsheet.
using Customized template by removing all the contents in the page, like
navigation menus, APEX page Toolbar, and others as the entire page will be
downloaded as a native Excel Spreadsheet.
2 Create PLSQL Region with
no template.
Use your report’s Source query instead of the below mentioned query in the
Loop.
no template.
Use your report’s Source query instead of the below mentioned query in the
Loop.
BEGIN
HTP.p
(‘<table border=1 white-space=nowrap><tr
style=”background-color:silver;”>
style=”background-color:silver;”>
<th>Company</th><th>Title</th>
<th>Direct Report Total</th></tr>’
);
FOR i IN (SELECT company, title, val
/*Company Title will have the Chinese
characters Ex: ????? Slag cooling tower*/
characters Ex: ????? Slag cooling tower*/
FROM
company_report
WHERE ID = :p12_c_id)
LOOP
HTP.p ( ‘<tr height=80><th align=right>’
|| i.company
|| ‘</th><th>’
|| i.title
|| ‘</th><th>’
|| i.val
|| ‘</th></tr>’
);
END LOOP;
END;
3 Create Before Header
process to set HTTP Headers.
process to set HTTP Headers.
Create a Before Header
Process in the page with the required filename as mentioned below.
Process in the page with the required filename as mentioned below.
BEGIN
OWA_UTIL.mime_header (‘application/vnd.ms-excel’, FALSE);
HTP.prn (‘Content-Disposition:
attachment; filename=”spreadsheet.xls”
attachment; filename=”spreadsheet.xls”
‘ );
OWA_UTIL.http_header_close;
END;
4 Redirect the Download
button in your report screen to this new page.
button in your report screen to this new page.
In the report screen, create
a button Download with
a button Download with
Action-> Redirect to Page
(new page created above with custom download process).
(new page created above with custom download process).
Output:
Default Download will return
the Chinese characters in the excel file as below:
the Chinese characters in the excel file as below:
Original Characters :
????? Slag
cooling tower
????? Slag
cooling tower
Default Download :
????? Slag cooling tower
????? Slag cooling tower
Using Custom Download : ????? Slag cooling tower
Note:
Also, In Chinese characters, ‘&’ symbol must be escaped as these will
not be accepted by default. Replace ‘&’ in the data with
‘&’ in the select query to escape the ‘&’ symbol.
not be accepted by default. Replace ‘&’ in the data with
‘&’ in the select query to escape the ‘&’ symbol.
Recent Posts