Проверка корректности адреса ячейки MS Excel - C#
Формулировка задачи:
Уважаемые коллеги!
Делаю форму импорта данных из файла Excel в БД (MS Access). Для удобства пользователю предлагается выбрать несколько диапазонов ячеек (в TextBox'ах), из которых будут подтягиваться данные. Задача - проверить корректность адресов диапазонов ячеек MS Excel. Понимаю, что решение может лежать в плоскости RegExp.
Однако хочется сделать проще. В настоящий момент делаю следующим образом:
Прошу подсказать - кто каким образом решает подобные задачи? Может быть есть готовый шаблон 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; }
Решение задачи: «Проверка корректности адреса ячейки 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]];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д