作成日: 2019/11/29 最終更新日: 2020/01/22
文書種別
不具合
状況
修正済み
詳細
フォーマット文字列の文字色をカラー名で指定すると、フィルタの形式が日付型に設定されてしまいます。
【再現手順】
1. 下記のチュートリアルを開く
チュートリアル
2. JavaScriptタブを選択し、initSpread関数に下記のサンプルコードを追記する
★サンプルコード(JavaScript)
3. 「スクリプトを実行する」ボタンを押下する
4. SaleAmt列(数値型)に設定されているフィルタダイアログを表示する
5. フィルターの表示を確認すると「日付フィルター」と表示されている
【再現手順】
1. 下記のチュートリアルを開く
チュートリアル
2. JavaScriptタブを選択し、initSpread関数に下記のサンプルコードを追記する
★サンプルコード(JavaScript)
function initSpread(spread) {
var sheet = spread.getSheet(0);
//フォーマットを追加
sheet.getRange(2, 4, 10, 1).formatter("0_);[Red]\(0\)");
~~以下省略~~
}
var sheet = spread.getSheet(0);
//フォーマットを追加
sheet.getRange(2, 4, 10, 1).formatter("0_);[Red]\(0\)");
~~以下省略~~
}
3. 「スクリプトを実行する」ボタンを押下する
4. SaleAmt列(数値型)に設定されているフィルタダイアログを表示する
5. フィルターの表示を確認すると「日付フィルター」と表示されている
回避方法
SpreadJS (Ver.13.0.4)で修正済み
Ver.13.0.4より前のバージョンでは次の方法で回避可能です。
フォーマット文字列の文字色をrgb指定にすることで回避することができます。
★サンプルコード(JavaScript)
なお、注意事項としてExcelがrgb指定に対応していないため、上記回避方法を行った状態でExcel出力を行うと、変換エラーが発生します。
Ver.13.0.4より前のバージョンでは次の方法で回避可能です。
フォーマット文字列の文字色をrgb指定にすることで回避することができます。
★サンプルコード(JavaScript)
//OK
sheet.getRange(2, 4, 10, 1).formatter("0_);[#FF0000]\(0\)");
//NG
// sheet.getRange(2, 4, 10, 1).formatter("0_);[Red]\(0\)");
sheet.getRange(2, 4, 10, 1).formatter("0_);[#FF0000]\(0\)");
//NG
// sheet.getRange(2, 4, 10, 1).formatter("0_);[Red]\(0\)");
なお、注意事項としてExcelがrgb指定に対応していないため、上記回避方法を行った状態でExcel出力を行うと、変換エラーが発生します。
旧文書番号
84684