COM を使用して C# で Excel にデータを書き込みたいのですが、保存に問題があります。コードを見てみましょう:
workSheet.SaveAs("c:/users/amare/sub.xls");
上記のコードはエラーを引き起こします:
「Microsoft Excel はファイル c://users/amare/sub.xls を開けません。」
しかし、以下のコードは問題なく動作します。
workSheet.SaveAs("c:\\users/amare/sub.xls");
workSheet.SaveAs(@"c:\users\amare\sub.xls");
今、私はこの状況についてかなり混乱しています。2) と 3) が完全に正しいことはわかっていますが、1) のようなコードを書くことに慣れています。
StreamWriter sw = new StreamWriter("c:/users/amare/desktop/file.txt");
sw.WriteLine("foo-bar");
sw.close();
これは常に正常に機能します。では、今回はなぜそうでないのか知りたいです。どうやらC#は1)でパスを誤ってエスケープします。