Проверка корректности адреса ячейки MS Excel - C#

Узнай цену своей работы

Формулировка задачи:

Уважаемые коллеги! Делаю форму импорта данных из файла Excel в БД (MS Access). Для удобства пользователю предлагается выбрать несколько диапазонов ячеек (в TextBox'ах), из которых будут подтягиваться данные. Задача - проверить корректность адресов диапазонов ячеек MS Excel. Понимаю, что решение может лежать в плоскости RegExp. Однако хочется сделать проще. В настоящий момент делаю следующим образом:
            Microsoft.Office.Interop.Excel.Application exc = new Microsoft.Office.Interop.Excel.Application();
            exc.Visible = false;
            exc.Workbooks.Open(pathTB.Text);
            try
            {
                exc.Range[range[0]].Rows.Count.ToString();
                exc.Range[range[1]].Rows.Count.ToString();
                exc.Range[range[2]].Rows.Count.ToString();
                exc.Range[range[3]].Rows.Count.ToString();
            }
            catch
            {
                MessageBox.Show("Определите, пожалуйста, корректно диапазоны данных в формате A:A, либо A1:A10, после чего повторите попытку.", "Ошибка с диапазонами данных!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                exc.Workbooks[1].Close(false);
                exc.Quit();
                return;
            }
Прошу подсказать - кто каким образом решает подобные задачи? Может быть есть готовый шаблон RegExp?

Решение задачи: «Проверка корректности адреса ячейки MS Excel»

textual
Листинг программы
//последняя заполненная строка в столбце А
int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row;  
//последний заполненный столбец в 1-й строке
int iLastCol = xlSht.Cells[1, xlSht.Columns.Count].End[Excel.XlDirection.xlToLeft].Column; 
Rng = xlSht.Range["A1", xlSht.Cells[iLastRow,iLastCol]];

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5