Перебор листов Excel: получить значение из текущей клетки - C#

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

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

PS. Сразу поясню, что у нас в деревне только один комп, в сельсовете, имеет доступ в интернет и на нем нет VisualStudio c#. Поэтому, все вопросы с работы, приходится задавать, переписывая с бумажки в блокнот. Если сделаю сейчас ошибку, то имейте в виду, что просто переписал с ошибкой... но это лирика, вот сам вопрос. У меня в Экселе много листов с табличками и в коде программы было бы удобнее сделать цикл и в нем перебирать листы с подстановкой, но не получается, вот что я делаю...
Листинг программы
  1. ...
  2. nRov=3; nKol=3; PodstList=1;
  3. Цикл
  4. ...
  5. sKletkaStr="List"+@PodstList+"".Cells["+@nRov+","+nKol+"].Text;";
  6. sKletka=@sKletkaStr;
  7. ...
в переменную sKletkaStr записывается верная строка с учетом подстановки = List1.Cells[3,3].Text; но не могу понять, как мне в переменной sKletka получить значение из текущей клетки Экселя? Если бы я написал, просто без подстановки sKletka=List1.Cells[3,3].Text; то получил бы значение, но без цикла программа получится очень не производительная... Что можно сделать?

Решение задачи: «Перебор листов Excel: получить значение из текущей клетки»

textual
Листинг программы
  1. void button1_Click(object sender, EventArgs e)
  2.         {
  3.             var path = @"c:\prob\primer.xls";
  4.             var excelApp = new Excel.Application(); //ОБЩАЯ ФУНКЦИЯ ВЫБРАТЬ ЕКСЕЛЬ
  5.             var workBook = excelApp.Workbooks.Open(path);
  6.  
  7.             var sheetsCount = workBook.Sheets.Count;
  8.  
  9.             for (var i = 0; i < sheetsCount; i++)
  10.             {
  11.                 var startCellX = 2;
  12.                 var startCellY = 2;
  13.                 var endCellX = 20;
  14.                 var endCellY = 40;
  15.  
  16.                 var sheet = (Excel.Worksheet) workBook.Sheets[i];
  17.  
  18.                 for (var j = startCellY; j < endCellY; j++)
  19.                 {
  20.                     for (var k = startCellX; k < endCellX; k++)
  21.                     {
  22.                         var value = (string)sheet.Cells[k, j];
  23.                     }
  24.                 }
  25.             }
  26.         }

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


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

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

7   голосов , оценка 3.714 из 5

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

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

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