ファイル名に日本語を設定してエクスポートすると文字化けする(1)
対象製品
SpreadJS 9J
状況
修正済み
詳細
ExcelIOサービスによるファイルエクスポートでファイル名に日本語を設定すると文字化けが発生します。
【再現コード】
--------------------------------------------------
//Excelファイルエクスポートのオプションを以下のように設定します。
var spread = $("#ss").wijspread("spread");
var serverUrl = "http://localhost/ExcelIO/xsapi/export";
var optContentType = "application/json";
var dataObj = {
"spread": spread.toJSON(),
"exportFileType": "xlsx",
"exportFileName": "日本語ファイル名",
"excel": {
"saveFlags": "NoFlagsSet",
"password": ""
},
};
--------------------------------------------------
回避方法
SpreadJS 9J SP1(Ver.3.20152.21)で修正済み
SpreadJS 9J SP1(Ver.3.20152.21)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
エクスポートするファイル名の指定にあたって以下のようにエンコードを実行することで本現象の回避が可能です。
【現象回避コードの適用例】
--------------------------------------------------
var spread = $("#ss").wijspread("spread");
var serverUrl = "http://localhost/ExcelIO/xsapi/export";
var optContentType = "application/json";
var dataObj = {
"spread": spread.toJSON(),
"exportFileType": "xlsx",
"exportFileName": window.encodeURI("日本語ファイル名");, // 日本語ファイル名をエンコードして設定します
"excel": {
"saveFlags": "NoFlagsSet",
"password": ""
},
};
--------------------------------------------------
SpreadJS 9J SP1(Ver.3.20152.21)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
エクスポートするファイル名の指定にあたって以下のようにエンコードを実行することで本現象の回避が可能です。
【現象回避コードの適用例】
--------------------------------------------------
var spread = $("#ss").wijspread("spread");
var serverUrl = "http://localhost/ExcelIO/xsapi/export";
var optContentType = "application/json";
var dataObj = {
"spread": spread.toJSON(),
"exportFileType": "xlsx",
"exportFileName": window.encodeURI("日本語ファイル名");, // 日本語ファイル名をエンコードして設定します
"excel": {
"saveFlags": "NoFlagsSet",
"password": ""
},
};
--------------------------------------------------