Excel から取得したものが文字列であることを確認する唯一の方法は、Range.Text (現在の形式に基づいて表示されたテキストを返す) を呼び出すことです。これは単一のセルでのみ取得できます。
ただし、フォーマットをテキストにしたい場合は、次のように呼び出します。
Cells.NumberFormat = "@"
上記で言ったことの詳細として... フォーマットを変更しても、セルの .Value は変更されません。値は通常、数値形式と内容に応じて、文字列、日付、または倍精度のいずれかになります。
編集
あなたの最後のコメントのために、私はあなたのためにいくつかの追加の調査を行いました. ただし、これは私によってテストされていません。これで問題が解決しない場合は、質問を更新して、コミュニティからより多くの反応を得るために何を試みたかを示すことをお勧めします。
この回答に記載されている手順を利用できるはずです(役立つ場合は、必ず賛成してください)。
唯一のバリエーションは、 NumberingFormatの作成をスキップできるはずです。コードにたどり着いたら:
cellFormat.NumberFormatId = nf2decimal.NumberFormatId;
nf2decimal の代わりに... 49 を使用するだけです。
したがって、このソースによるとcellFormat.NumberFormatId = 49;
、49 は @ の事前定義された numbererFormat に対応する必要があります。