Перебор листов Excel: получить значение из текущей клетки - C#
Формулировка задачи:
PS. Сразу поясню, что у нас в деревне только один комп, в сельсовете, имеет доступ в интернет и на нем нет VisualStudio c#. Поэтому, все вопросы с работы, приходится задавать, переписывая с бумажки в блокнот. Если сделаю сейчас ошибку, то имейте в виду, что просто переписал с ошибкой... но это лирика, вот сам вопрос.
У меня в Экселе много листов с табличками и в коде программы было бы удобнее сделать цикл и в нем перебирать листы с подстановкой, но не получается, вот что я делаю...
в переменную sKletkaStr записывается верная строка с учетом подстановки = List1.Cells[3,3].Text;
но не могу понять, как мне в переменной sKletka получить значение из текущей клетки Экселя? Если бы я написал, просто без подстановки sKletka=List1.Cells[3,3].Text; то получил бы значение, но без цикла программа получится очень не производительная... Что можно сделать?
... nRov=3; nKol=3; PodstList=1; Цикл ... sKletkaStr="List"+@PodstList+"".Cells["+@nRov+","+nKol+"].Text;"; sKletka=@sKletkaStr; ...
Решение задачи: «Перебор листов Excel: получить значение из текущей клетки»
textual
Листинг программы
void button1_Click(object sender, EventArgs e) { var path = @"c:\prob\primer.xls"; var excelApp = new Excel.Application(); //ОБЩАЯ ФУНКЦИЯ ВЫБРАТЬ ЕКСЕЛЬ var workBook = excelApp.Workbooks.Open(path); var sheetsCount = workBook.Sheets.Count; for (var i = 0; i < sheetsCount; i++) { var startCellX = 2; var startCellY = 2; var endCellX = 20; var endCellY = 40; var sheet = (Excel.Worksheet) workBook.Sheets[i]; for (var j = startCellY; j < endCellY; j++) { for (var k = startCellX; k < endCellX; k++) { var value = (string)sheet.Cells[k, j]; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д