.NET 3.x Заполнить все ячейки Excel одной формулой - C#

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

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

Всем привет! Собственно, как можно распостранить формулу на все ячейки в столбце т.е. как в экзеле тянем формулу на все ячейки( Для одной ячейки сделал, а на остальные не нашел(
Листинг программы
  1. Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
  2. Excel.Workbook xlWb = xlApp.Workbooks.Open(openFileDialog1.FileName,
  3. Type.Missing, Type.Missing, Type.Missing, Type.Missing,
  4. Type.Missing, Type.Missing, Type.Missing, Type.Missing,
  5. Type.Missing, Type.Missing, Type.Missing, Type.Missing,
  6. Type.Missing, Type.Missing);
  7. //xlWb.Worksheets.Add(After: xlWb.Sheets[xlWb.Sheets.Count]);
  8. xlWb.Worksheets.Copy(After: xlWb.Sheets[xlWb.Sheets.Count]);
  9. Excel.Worksheet xlWs = (Microsoft.Office.Interop.Excel.Worksheet)xlWb.Sheets[2];
  10. // UsedRange - использованный диапазон. Находим последнюю заполненную строку и столбец.
  11. int fullRow = xlWs.UsedRange.Rows.Count;
  12. int fullCol = xlWs.UsedRange.Columns.Count;
  13. Range rng = xlWs.Range[xlWs.Cells[1,1], xlWs.Cells[fullRow, fullCol]];
  14. object cols = new object[] { 7, 9 };
  15. rng.RemoveDuplicates(cols, XlYesNoGuess.xlNo);
  16. int lastRow = xlWs.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing).Row;
  17. xlWs.Range["H2"].Formula = "=СУММЕСЛИМН(Лист1!H2:H1640;Лист1!G2:G1640;G2;Лист1!I2:I1640;I2)";
  18. double smm = xlApp.WorksheetFunction.Sum(xlWs.Range["H:H"]);
  19. //xlWs.Cells[lastRow, 8] = smm;
  20.  
  21. xlApp.Visible = true;
В данном случае формула берет свои данные с листа1 и выводится на листе 2.

Решение задачи: «.NET 3.x Заполнить все ячейки Excel одной формулой»

textual
Листинг программы
  1. xlWs2.Range["H"+(lastRow+1)].Formula = "=СУММ(H2:H" + lastRow.ToString() + ")";

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы