Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2015, 00:44   #1
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию Microsoft.Office.Interop.Excel Пустая ячейка выдает ошибку

Здравствуйте. Есть Excel файл, из которого нужно забрать три колонки[1,5,14] и перекинуть в access. Делаю как завещает MSDN

Код:
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\5.xlsx");
Microsoft.Office.Interop.Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Microsoft.Office.Interop.Excel.Range xlRange = xlWorksheet.UsedRange;




            int rowCount = xlRange.Rows.Count;
           

            for (int i = 8; i <= rowCount; i++)
            {
                MessageBox.Show(xlRange.Cells[i, 1].Value2.ToString());
                MessageBox.Show(xlRange.Cells[i, 5].Value2.ToString());
                MessageBox.Show(xlRange.Cells[i, 14].Value2.ToString());
            }
Если в ячейках хоть какая информация есть, то он ее показывает, если пустая ячейка, то выбивает:

Код:
Additional information: Cannot perform runtime binding on a null reference
Вроде того, что с null он не может работать, пробовал проверять мощнейшим методом string.IsNullOrEmpty, но как только в пустую,null, ячейку попадает, то обязательно выбивает это исключение.(

Последний раз редактировалось Таксист; 13.08.2015 в 00:48.
Таксист вне форума Ответить с цитированием
Старый 13.08.2015, 00:48   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну видимо надо как-то проверить, что оно не null. Как минимум до ToString. А может и до Value.

https://www.google.com/search?q=cann...nce+c%23+excel
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.08.2015, 00:55   #3
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну видимо надо как-то проверить, что оно не null. Как минимум до ToString. А может и до Value.

https://www.google.com/search?q=cann...nce+c%23+excel
Честное слово гуглил! Видимо совсем отупел. Спасибо! Там решается все просто Convert.ToString(xlRange.Cells[i, 1].Value2) вместо метода ToString который вконце
Таксист вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Microsoft.Office.Interop.Word, работа с изображением teckyLD C# (си шарп) 0 30.03.2014 06:35
Пустая ячейка не воспринимается как пустая SvetlanaF Microsoft Office Excel 3 24.02.2014 05:34
Microsoft Office Excel mr.Starosta Microsoft Office Excel 2 28.11.2013 10:48
альтернатива Microsoft.Office.Interop.Word ts-alan C# (си шарп) 8 19.08.2013 09:40
Библиотрека Microsoft.Office.Interop.Word Garmon Общие вопросы .NET 2 10.07.2013 15:57