2017-07-26 7 views
0

EPPLUSを使用してアップロードされたExcelファイルから行単位で文字列値を読み取るweb-appを構築しました。長さが実際の値と異なるexcelからの文字列

ちょうど私は奇妙な動作に遭遇しました。私のstring.lengthのサイズは実際の値とは異なります。それを明確にする

コード:

//pretend str value = "cat" 
string str = Worksheets.Cells["A1"].Value.ToString().Trim(); 

//output will be = "cat" 
Debug.Writeline(str); 

//it should be = 3 right 
//but it's actually = 4 
Debug.Writeline(str.Length); 

この現象が発生することができている理由は、誰も説明できますか? とその解決方法、その文字列を自分のハードコーディングされた文字列と比較する必要があるため

+0

最後に '\ r'または' \ n'文字があるのでしょうか? –

+0

@AlexArt。文字列に '\ r'または '\ n'があるかどうかを調べる方法は?私はすでに 'trim()'を使用しています –

答えて

6

長さが4として報告されている場合は、それをバイト単位で見たことがありますか?

はこれを試してみてください:

var cat = Worksheets.Cells["A1"].Value.ToString().Trim(); 
foreach (var c in cat.ToCharArray()) 
{ 
    Debug.WriteLine("{0}: '{1}'", (int)c, c); 
} 

それはあなたの文字列の中に隠されている他に何を判断するのに役立ちなければなりません。私はこれがEPPlusがやっている "奇妙な"ものだと疑います(私はいつも使っていますが、このようなことは一度も経験していません) - あなたのソースデータには奇妙なことがほとんどあります。

+0

ありがとうございました!私は早く尋ねておくべきです、私は数時間を無駄にしました。 –

関連する問題