1. ホーム
  2. excel

[解決済み] UTF-8のCSVファイルをExcelに強制的に自動認識させることは可能ですか?

2022-03-18 07:57:34

質問

あるアプリケーションの一部で、データをCSVファイルにエクスポートする機能を開発しています。このアプリケーションは、すべてのレベルで多言語であるため、常にUTF-8を使用しています。しかし、そのようなCSVファイル(例えば、ダイアクリティクス、キリル文字、ギリシャ文字などを含む)をエクセルで開くと、期待した結果が得られず、次のようなものが表示されます。 Г„/Г¤, Г–/Г¶ . そして、開いているCSVファイルがUTF-8でエンコードされていることをExcelに理解させる方法がわかりません。また、UTF-8のBOMを指定する方法も試してみました。 EF BB BF しかし、Excelはそれを無視します。

何か回避策はありますか?

追伸:Excelのような挙動をする可能性のあるツールはありますか?


アップデイト

質問の形式でコミュニティを混乱させたと言わざるを得ません。この質問をしたとき、私はユーザーにとって何の問題もなく、流暢で透明な方法でUTF-8のCSVファイルをExcelで開く方法を求めました。しかし、私はそれを行うために尋ねる間違った形式を使用しました。 自動的に . これは非常に紛らわしく、VBAマクロの自動化と衝突してしまいます。この質問に対する回答で、私が最も高く評価するものは2つあります。 https://stackoverflow.com/a/6002338/166589 そして、2つ目はMarkの回答です。 https://stackoverflow.com/a/6488070/166589 その少し後に登場した 使い勝手の観点から、ExcelはUTF-8 CSVのサポートが不十分と思われたので、私は どちらも Alexの回答は、Excelが透過的にそれを行うことができないことを本当に述べているので、私は最初にAlexの回答を受け入れました。これが、私が 自動的に ここで Markの回答は、より上級のユーザーが期待する結果を得るための、より複雑な方法を促進するものです。どちらの回答も素晴らしいのですが、Alexの回答の方が、明確に指定されていない私の質問に少し合っています。


アップデイト2

前回の編集から5ヶ月が経ち、Alexの回答がなぜか消えていることに気がつきました。技術的な問題でないことを祈るとともに、これ以上、どの回答が優れているかという議論がないことを祈ります。だから、私はマークの答えをベストなものとして受け入れます。

解決方法は?

Alexの言うとおりですが、csvにエクスポートする必要があるので、csvファイルを開くときに、ユーザーにこのようなアドバイスをすることができます。

  1. エクスポートしたファイルをcsvとして保存します。
  2. エクセルを開く
  3. データ-->外部データの取り込み-->データの取り込みでデータを取り込みます。
  4. ファイルの種類として"csv"を選択し、ファイルを参照します。
  5. インポートウィザードで、File_Originを "65001 UTF" に変更します(または正しい言語の文字識別子を選択します)。
  6. デリミタをカンマに変更する
  7. インポート先を選択し、終了

こうすることで、特殊文字が正しく表示されるはずです。