Как я могу использовать этот код поиска данных в файле excel без использования out spire.xls
Мой код предназначен для извлечения данных и извлечения их на первый лист новой книги excel ,
Я использую здесь wpf ,и spire.xls способ :
Я попытался найти что-то более подходящее, но не смог отладить свой код .
Ps: cellRAnge доступен только тогда, когда я использую spire.xls
Я хочу заменить его spire.xls использование с Excel.APP
using Spire.Xls; public void codespire() { Workbook newBook = new Workbook(); Worksheet newSheet = newBook.Worksheets[0]; Workbook workbook = new Workbook(); workbook.LoadFromFile("Information.xlsx"); Worksheet sheet = workbook.Worksheets[0]; int i = 1; int columnCount = sheet.Columns.Count(); foreach (CellRange range in sheet.Columns[0]) { if (range.Text == "teacher") { CellRange sourceRange = sheet.Range[range.Row, 1, range.Row, columnCount]; CellRange destRange = newSheet.Range[i, 1, i, columnCount]; sheet.Copy(sourceRange, destRange, true); i++; } } newBook.SaveToFile("NewForm.xlsx", ExcelVersion.Version2010); } } }
Что я уже пробовал:
Я хочу заменить его spire.xls с помощью Excel.Способ применения:
using Excel = Microsoft.Office.Interop.Excel; public void myCodeExcel.Appli() { Excel.Application APP = new Microsoft.Office.Interop.Excel.Application(); //Destination Microsoft.Office.Interop.Excel.Workbook newBook = APP.Workbooks.Open(excelFileDestinationPAth); Microsoft.Office.Interop.Excel.Worksheet newSheet = (Microsoft.Office.Interop.Excel.Worksheet) newBook.Worksheets[1]; // source Microsoft.Office.Interop.Excel.Workbook workBook = APP.Workbooks.Open(excelFileSourcePAth); Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet) workbook.Worksheets[1]; int i =1 ; int columnCount = sheet.Columns.Count(); foreach (Excel.Range r in (Excel.Range) sheet.Columns["A", Type.Missing]) { Excel.Range rang = r.Find(numSérie,sheet.Cells[i, 1],Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false,false,false); string cellAdress = rang.get_Address(false, false, Excel.XlReferenceStyle.xlA1, false, false); string rangeCellSearch = sheet.Range[cellAdress].Value; if (rangeCellSearch == Teacher) { //how can I copy range filter results to the second excel file .. }
Afzaal Ahmad Zeeshan
Переписав код, Спайр сделал это. Если функция доступна из библиотеки, то как вы ожидаете найти эту функцию где-либо еще (не говоря уже об этих COM-классах).
В чем же вопрос?
EM_Y
Я только что обновил свой код , надеюсь, теперь все ясно ! очень благодарен за ваше внимание и желаю вам помощи !
Я хочу скопировать все строки результата в один простой код !
Kenneth Haugland
Не перепечатывайте свой вопрос, используйте Improve question, если у вас есть больше деталей.
ZurdoDev
Вы можете узнать много кода, просто записав макросы, а затем глядя на код.