データテーブルの並び替えで、
①エクセルのデータをテーブルに格納して並び替え
と、
②手動でエクセルの並び替え機能を使用して並び替え
では、日本語の漢字部分で並び替え結果がちがってしまいこまっています。
例えば、
一般社団法人
名古屋
宇部建設
日本放送協会
株式会社てすと
株式会社リクルート
のような値が入っているエクセルを範囲を読み込みでデータテーブルに格納し、
「データテーブルを並べ替え」アクティビティ、もしくは、DataViewで並べ替えると
一般社団法人
名古屋
宇部建設
日本放送協会
株式会社てすと
株式会社リクルート
になってしまいます。
・・・漢字でもよい感じに並べ替える方法をご存じでしたらアドバイスをいただきたく…
この辺はもう仕方がないのでしょうか…
Yoichi
(Yoichi)
2
こんにちは
ソートする前に代入アクティビティで以下を設定してみてください。
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("ja-JP")
ただし他にも影響がでますので(DateTimeのToStringメソッド等)
必要に応じて以下で戻してください。
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture
ありがとうございます!
こちらで思った通りにソートができました。
勉強不足ですみません、教えていただきたいのですが、
デフォルトが
System.Globalization.CultureInfo.InvariantCulture
なのでしょうか?
いつもありがとうございます。
Yoichi
(Yoichi)
4
こんにちは
System.Threading.Thread.CurrentThread.CurrentCulture.EnglishName
あたりを出力すると、現在のCultureが何なのか確認できますので
上記の代入の前後等で確認してみると良いかと思います。
system
(system)
Closed
6
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.