Поиск ячейки в 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д