Не удается прочитать значение ячейки Excel в Visual C # - PullRequest
0 голосов
/ 02 мая 2018

Я прочитал Как прочитать значение в одной ячейке Excel и попробовал сам. Но когда я доберусь до

string s = (myExcelWorkSheet.Cells[3, "E"] as Excel.Range).Value2.ToString();

Все было прервано, и форма была показана.

//Everything worked fine here.
string s = (myExcelWorkSheet.Cells[3, "E"] as Excel.Range).Value2.ToString();
//Everything after this was all skipped!

Почему это так и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Когда ячейка имеет значение, вам нужно ToString().

А когда ячейка не имеет значение, тогда вам не нужен ToString()!

В противном случае вся программа пропустит и все, что после этого будет НИКОГДА не выполнено !!!

Так что я думаю, это просто проблема, если система пыталась преобразовать значение null в строку или нет !!!

0 голосов
/ 02 мая 2018

Проблема чтения ячейки Excel состоит в том, что если в ней ничего нет, объект ячейки равен Null. Таким образом, он не имеет ни .Value2, ни .Value.

Чтобы найти способ избежать проверки для Null, вы можете использовать Convert.ToString(), который оценивает Null в пустую строку и, следовательно, не возвращает ошибку:

for (int i = 1; i < 5; i++)
{
    string a = Convert.ToString(wk.Cells[i, 1].Value2);
    Console.WriteLine(a);
}
...