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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2016, 13:55   #1
NIKOLEX
 
Регистрация: 11.12.2014
Сообщений: 4
По умолчанию Упрощение обращения к ячейкам Excel

Здравствуйте уважаемые форумчане. Возникла необходимость высчитывания значений по строке в Excele. Нарисовал такой ужс. Чую можно както упростить, но не совсем понимаю способы обращения к ячейкам. Кто бы мог показать невелосипедный вариант?
Код:
  var lastrow = ObjExcel.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row;
                var s = lastrow + 1;
try
            {
                //Предыдущие показания
                var _B = Convert.ToDouble(objWorkSheet.get_Range("B" + (s - 2), Type.Missing).Text);
                var _C = Convert.ToDouble(objWorkSheet.get_Range("C" + (s - 2), Type.Missing).Text);
                var _D = Convert.ToDouble(objWorkSheet.get_Range("D" + (s - 2), Type.Missing).Text);
                var _E = Convert.ToDouble(objWorkSheet.get_Range("E" + (s - 2), Type.Missing).Text);
                var _F = Convert.ToDouble(objWorkSheet.get_Range("F" + (s - 2), Type.Missing).Text);
                var _L = Convert.ToDouble(objWorkSheet.get_Range("L" + (s - 2), Type.Missing).Text);
                var _M = Convert.ToDouble(objWorkSheet.get_Range("M" + (s - 2), Type.Missing).Text);
                var _N = Convert.ToDouble(objWorkSheet.get_Range("N" + (s - 2), Type.Missing).Text);
                var _O = Convert.ToDouble(objWorkSheet.get_Range("O" + (s - 2), Type.Missing).Text);
                var _P = Convert.ToDouble(objWorkSheet.get_Range("P" + (s - 2), Type.Missing).Text);

                //Вычисляем и присваиваем разницу
                objWorkSheet.Cells[s, 7] = Convert.ToString(
                    Convert.ToDouble(
                      objWorkSheet.Range["B" + s.ToString(), Type.Missing].Text) - _B);

                objWorkSheet.Cells[s, 8] =
                    Convert.ToString(
                        Convert.ToDouble(
                          objWorkSheet.Range["C" + s.ToString(), Type.Missing].Text) - _C);

                objWorkSheet.Cells[s, 9] =
                    Convert.ToString(Convert.ToDouble(
                         objWorkSheet.Range["D" + s.ToString(), Type.Missing].Text) - _D);

                objWorkSheet.Cells[s, 10] =
                    Convert.ToString(Convert.ToDouble(
                        objWorkSheet.Range["E" + s.ToString(), Type.Missing].Text) - _E);

                objWorkSheet.Cells[s, 11] =
                    Convert.ToString(Convert.ToDouble(
                       objWorkSheet.Range["F" + s.ToString(), Type.Missing].Text) - _F);

                objWorkSheet.Cells[s, 17] =
                    Convert.ToString(
                        Convert.ToDouble(
                           objWorkSheet.Range["L" + s.ToString(), Type.Missing].Text) - _L);

                objWorkSheet.Cells[s, 18] =
                    Convert.ToString(Convert.ToDouble(
                       objWorkSheet.Range["M" + s.ToString(), Type.Missing].Text) - _M);

                objWorkSheet.Cells[s, 19] =
                    Convert.ToString(Convert.ToDouble(
                        objWorkSheet.Range["N" + s.ToString(), Type.Missing].Text) - _N);

                objWorkSheet.Cells[s, 20] =
                    Convert.ToString(
                        Convert.ToDouble(
                         objWorkSheet.Range["O" + s.ToString(), Type.Missing].Text) - _O);

                objWorkSheet.Cells[s, 21] =
                    Convert.ToString(Convert.ToDouble(
                       objWorkSheet.Range["P" + s.ToString(), Type.Missing].Text) - _P);
            }
            catch (Exception e)
            {
                MessageBox.Show("Error: " + e.Message + @"
Расчет разности размеров не произведен!
Решение: проверьте, не занесенs ли в числовые значения посторонние символы.", "Ошибка!", MessageBoxButtons.OK);
            }
NIKOLEX вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в excel разбить дату по ячейкам Leon-nz Microsoft Office Excel 2 15.03.2014 22:59
Упрощение кода. bestnicer JavaScript, Ajax 0 27.01.2013 16:54
Упрощение кода R@Ziel Помощь студентам 0 26.12.2009 20:27
Упрощение дроби k1r1ch Общие вопросы Delphi 2 10.10.2009 16:16
Совмещение строк по ячейкам в Excel asfa Microsoft Office Excel 6 16.03.2007 01:13