2017-12-22 21 views
1

私はExcelのセルの値を設定する方法以下で使用している:私は再び値を得るとき、それは常にnullを返し、interopを使用してstring.emptyにセルの値を設定するにはどうすればよいですか?

newSheet.Cells[23,2].Value2 = ""; 
newSheet.Cells[23,2].Value = ""; 

しかし、不思議なことに、それはなぜですか?

var tt = newSheet.Cells[23,2].Value; //null 
var tt2 = newSheet.Cells[23,2].Value2; //null 
var tt3 = newSheet.Cells[23,2].Text; //this is ""! 

Cell [1,2]のセル値を正常に設定したExcelが見つかりました。以下の添付ファイルを確認することができます。これはどうやって起こるのですか?何か案は?私は間違った方法で値を設定していますか?

MagicCell.xlsx

答えて

0

@MátrayMárkのおかげで、彼の答えは突然、セルの値の型がトリックをするかもしれないと私に訴えます。

newSheet.Cells[23,2].NumberFormat = "@"; 

とブーム、String.Emptyを作品:

は、だから私は設定しました!

0

セルの値がテキストである場合、値2は、セルの値が数値であるならば、値2は、double型を返しますが、タイプ文字列を返します。セルが空の場合、戻り値の型はCOMオブジェクトのヌルです。

だから、Valueもnullになります。私は思う(今はチェックできない)l、空のセルのテキストをチェックすると(たとえそれを ""に設定していなくても)、空の文字列を返すだろう。

+0

返信いただきありがとうございます。 MagicCell.xlsxファイルのmagicCellSheet.Cells [1,2] .Valueは ""です。なぜこのファイルではセルを ""に設定できますが、私はできません。 – Spencer

+0

私は家に帰るときにそれをチェックします。私はいくつかのアイデアを持っています。 –

関連する問題