Здравствуйте уважаемые форумчане. Возникла необходимость высчитывания значений по строке в 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);
}