Поиск ячейки в excel - C#
Формулировка задачи:
тут немного наваял пользуясь просторами интернета и совсем запутался
что нужно то мне:
1) Найти ячейку
2) Получить адрес строки
3) скопировать ячейку и вставить в новом месте
Данный код может содержать много ошибок
Листинг программы
- Excel.Range Cifra = ObjWorkExcel.get_Range("A1", "100Y");
- var r = Cifra.Find("123", Type.Missing,
- Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
- Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false,
- Type.Missing, Type.Missing);
- int ro = r.Row;
- Excel.Range RngToCopy = WS.get_Range("C"+ro);
- Excel.Range RngToInsert = WS.get_Range("D" + ro);
- RngToInsert.Insert(Microsoft.Office.Interop.Excel.XlInsertShiftDirection.xlShiftDown, RngToCopy.Copy(Type.Missing));
Решение задачи: «Поиск ячейки в excel»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Excel = Microsoft.Office.Interop.Excel;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- Excel.Application ObjWorkExcel = new Excel.Application(); //сам эксель
- Excel.Workbook WB; //в эту книгу будем копировать
- Excel.Worksheet WS;// в этот лист
- Excel.Workbook ObjWorkBooks;// из этой книги будем копировать
- Excel.Worksheet ObjWorkSheets;//с этого листа
- WB = ObjWorkExcel.Workbooks.Add(System.Reflection.Missing.Value);//создаем новую книгу
- WS = (Excel.Worksheet)WB.Sheets[1];//выбираем 1 лист
- ObjWorkBooks = ObjWorkExcel.Workbooks.Open("d:\\copy.xlsx",
- Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
- Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открываем существующую книгу
- ObjWorkSheets = ObjWorkBooks.Worksheets[1];//берем 1 лист
- int LastRow = ObjWorkBooks.Sheets[1].Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; // находим в ней последнюю строку, можно заменить на известный номер
- //ObjWorkSheets.get_Range(Name).Copy(); // копи
- string FindObj = "123";
- int r = 1, i=0 ;
- string[] c = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
- String Obj = String.Empty;
- String column = String.Empty;
- Obj = "1";
- while (Obj != FindObj && r<20000)
- {
- while (i < c.Length && FindObj != Obj)
- {
- // r = 7;
- string Name = c[i] + r; //берем диапазон ячееку
- Excel.Range ObjE = ObjWorkSheets.get_Range(Name, Type.Missing); //передаем значение ячейки переменной
- Obj = Convert.ToString(ObjE.Value2); //Конвертируем в строковую
- Console.WriteLine(Obj); //выводим на экран
- column = c[i];
- i++;
- }
- i = 0;
- r++;
- }
- r--;
- Console.WriteLine("Мы искали " + FindObj + ", нашли \" " + Obj + " \", оно было в ячейке " + column + r + ".");
- Console.ReadKey();
- ObjWorkExcel.Quit();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д