У меня есть этот синтаксис, который не вызывает ошибок и кажется, что это правильный код. Однако общие строки не добавляются. Что неверно в моем синтаксисе?C# Добавить общую строку в последнюю строку рабочего листа Excel
if (xlApp.WorksheetFunction.CountA(WS.Cells) != 0)
{
lastRow = WS.Cells.Find("*", WS.Range["A1"], Excel.XlFindLookIn.xlFormulas, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlPrevious, false).Row;
}
else { lastRow = 1; }
WS.Range["C" + lastRow + 1].FormulaR1C1 = "=SUM(R[-" + lastRow + "]C:R[-1]C)";
WS.Range["C" + (lastRow + 1) + ":N" + (lastRow + 1)].FillRight();
WS.Range["N" + lastRow + 1].FillRight();
EDIT
Я также попытался с помощью ниже Special Cells
синтаксиса и того же результата, никакой ошибки, но общая строку не был добавлен к любому из моих рабочих листов
Excel.Range MyLast = WS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range MyRange = WS.get_Range("A1", MyLast);
int MyLastRow = MyLast.Row;
int MyLastColumn = MyLast.Column;
WS.Range["A" + MyLastRow + 1].FormulaR1C1 = "Totals:";
WS.Range["C" + MyLastRow + 1].FormulaR1C1 = "=SUM(R[-" + lastRow + "]C:R[-1]C)";
WS.Range["C" + (MyLastRow + 1) + ":N" + (lastRow + 1)].FillRight();
WS.Range["N" + MyLastRow + 1].FillRight();
Спасибо за выборку, я отредактировал свое сообщение, чтобы показать, как я пытался это сделать, но имел тот же результат. Нет Total Row, но код работает без ошибок. –
Я изменил код, попробуйте использовать 'MyLine.Insert();'. Каков результат? – Essigwurst
Обновленный код вставляет новую строку между двумя последними строками данных. Еще не добавляется общая строка. –