Buscar datos

Encontrar celdas que contienen datos especificados

Usar Microsoft Excel

Microsoft Excel permite a los usuarios encontrar celdas en una hoja de cálculo que contienen datos especificados. Si seleccionas Editar en el menú Buscar de Microsoft Excel, verás un cuadro de diálogo en el que podrás especificar el valor de búsqueda.

Aquí, estamos buscando el valor “Naranjas”. Aspose.Cells también permite a los desarrolladores encontrar celdas en la hoja de cálculo que contienen valores especificados.

Usar Aspose.Cells

Aspose.Cells proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Worksheets que permite acceder a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells que representa todas las celdas en la hoja de cálculo. La colección Cells proporciona varios métodos para encontrar celdas en una hoja de cálculo que contienen datos especificados por el usuario. Algunos de estos métodos se discuten a continuación con más detalle.

Buscar celdas que contienen una fórmula

Los desarrolladores pueden encontrar una fórmula especificada en la hoja de cálculo llamando al método Find de la colección Cells. Típicamente, el método Find acepta tres parámetros:

  • Objeto: El objeto que se va a buscar. El tipo debe ser int, double, DateTime, string, bool.
  • Celda anterior: Celda anterior con el mismo objeto. Este parámetro puede establecerse en nulo si se busca desde el principio.
  • Opciones de búsqueda: Opciones para encontrar el objeto requerido.

Los ejemplos a continuación utilizan datos de hoja de cálculo para practicar los 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);

Encontrar datos o fórmulas utilizando FindOptions

Es posible encontrar valores especificados utilizando el método Find de la colección Cells con varios FindOptions. Típicamente, el método Find acepta los siguientes parámetros:

  • Valor de búsqueda, los datos o valores a buscar.
  • Celda anterior, la última celda que contenía el mismo valor. Este parámetro puede establecerse en nulo al buscar desde el principio.
  • Opciones de búsqueda, 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 celdas que contengan un valor de cadena o número especificado

Es posible encontrar valores de cadena especificados llamando al mismo método Find encontrado en la colección Cells con varios FindOptions.

Especifique las propiedades FindOptions.LookInType y FindOptions.LookAtType. El siguiente ejemplo de código ilustra cómo utilizar estas propiedades para encontrar celdas con varios números de cadenas al principio o al centro o al final 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 ");
}

Temas avanzados