Buscar o buscar datos
Encontrar Cells que contiene datos especificados
Usando Microsoft Excel
Microsoft Excel permite a los usuarios encontrar celdas en una hoja de trabajo que contiene datos específicos. Si seleccionaEditar desde elEncontrar menú en Microsoft Excel, verá un cuadro de diálogo donde puede especificar el valor de búsqueda.
Aquí, buscamos el valor “Naranjas”. Aspose.Cells también permite a los desarrolladores encontrar celdas en la hoja de trabajo que contienen valores específicos.
Usando Aspose.Cells
Aspose.Cells proporciona una clase,Libro de trabajo , que representa un archivo de Excel Microsoft. ÉlLibro de trabajo la clase contiene unHojas de trabajo colección que permite el acceso a cada hoja de trabajo en el archivo de Excel. Una hoja de trabajo está representada por elHoja de cálculo clase. ÉlHoja de cálculo la clase proporciona unCells colección que representa todas las celdas de la hoja de trabajo. ÉlCellscollection proporciona varios métodos para encontrar celdas en una hoja de cálculo que contiene datos especificados por el usuario. Algunos de estos métodos se analizan a continuación con más detalle.
Encontrar Cells que contiene una fórmula
Los desarrolladores pueden encontrar una fórmula específica en la hoja de trabajo llamando alCells colecciónEncontrar método. Típicamente, elEncontrarEl método acepta tres parámetros:
- **Objeto:**El objeto a buscar. El tipo debe ser int,double,DateTime,string,bool.
- **Celda anterior:**Celda anterior con el mismo objeto. Este parámetro se puede establecer en nulo si se busca desde el principio.
- FindOptions: Opciones para encontrar el objeto requerido.
Los siguientes ejemplos usan datos de hojas de trabajo para practicar métodos de búsqueda:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Opening the Excel file | |
Workbook workbook = new Workbook(sourceDir + "sampleFindingCellsContainingFormula.xlsx"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Instantiate FindOptions Object | |
FindOptions findOptions = new FindOptions(); | |
findOptions.LookInType = LookInType.Formulas; | |
// Finding the cell containing the specified formula | |
Cell cell = worksheet.Cells.Find("=SUM(A5:A10)", null, findOptions); | |
// Printing the name of the cell found after searching worksheet | |
System.Console.WriteLine("Name of the cell containing formula: " + cell.Name); |
Búsqueda de datos o fórmulas mediante FindOptions
Es posible encontrar valores especificados usando elCells colecciónEncontrar método con variosBuscarOpciones . Típicamente, elEncontrarmétodo acepta los siguientes parámetros:
- Valor de búsqueda, el dato o valor a buscar.
- celda anterior, la última celda que contenía el mismo valor. Este parámetro se puede establecer en nulo cuando se busca desde el principio.
- Buscar opciones, las opciones de búsqueda.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Instantiate the workbook object | |
Workbook workbook = new Workbook(sourceDir + "sampleFindingDataOrFormulasUsingFindOptions.xlsx"); | |
workbook.CalculateFormula(); | |
// Get Cells collection | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Instantiate FindOptions Object | |
FindOptions findOptions = new FindOptions(); | |
// Create a Cells Area | |
CellArea ca = new CellArea(); | |
ca.StartRow = 8; | |
ca.StartColumn = 2; | |
ca.EndRow = 17; | |
ca.EndColumn = 13; | |
// Set cells area for find options | |
findOptions.SetRange(ca); | |
// Set searching properties | |
findOptions.SearchBackward = false; | |
findOptions.SearchOrderByRows = true; | |
// Set the lookintype, you may specify, values, formulas, comments etc. | |
findOptions.LookInType = LookInType.Values; | |
// Set the lookattype, you may specify Match entire content, endswith, starwith etc. | |
findOptions.LookAtType = LookAtType.EntireContent; | |
// Find the cell with value | |
Cell cell = cells.Find(341, null, findOptions); | |
if (cell != null) | |
{ | |
Console.WriteLine("Name of the cell containing the value: " + cell.Name); | |
} | |
else | |
{ | |
Console.WriteLine("Record not found "); | |
} |
Encontrar Cells que contiene un valor o número de cadena especificado
Es posible encontrar valores de cadena especificados llamando al mismoEncontrar método que se encuentra en elCells colección con variosBuscarOpciones.
Especifica elFindOptions.LookInType yFindOptions.LookAtType propiedades. El siguiente código de ejemplo ilustra cómo usar estas propiedades para encontrar celdas con varios números de cadenas al mismo tiempo.comienzo o en elcentro o en elfinal de la cadena de la celda.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get Cells collection | |
Cells cells = workbook.Worksheets[0].Cells; | |
FindOptions opts = new FindOptions(); | |
opts.LookInType = LookInType.Values; | |
opts.LookAtType = LookAtType.EntireContent; | |
// Find the cell with the input integer or double | |
Cell cell1 = cells.Find(205, null, opts); | |
if (cell1 != null) | |
{ | |
Console.WriteLine("Name of the cell containing the value: " + cell1.Name); | |
} | |
else | |
{ | |
Console.WriteLine("Record not found "); | |
} | |
// Find the cell with the input string | |
Aspose.Cells.Cell cell2 = cells.Find("Items A", null, opts); | |
if (cell2 != null) | |
{ | |
Console.WriteLine("Name of the cell containing the value: " + cell2.Name); | |
} | |
else | |
{ | |
Console.WriteLine("Record not found "); | |
} | |
// Find the cell containing with the input string | |
opts.LookAtType = LookAtType.Contains; | |
Cell cell3 = cells.Find("Data", null, opts); | |
if (cell3 != null) | |
{ | |
Console.WriteLine("Name of the cell containing the value: " + cell3.Name); | |
} | |
else | |
{ | |
Console.WriteLine("Record not found "); | |
} |