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:
- qué: El objeto que se busca. El tipo debe ser int, double, DateTime, string, bool.
- celda_anterior: Celda anterior con el mismo objeto. Este parámetro puede establecerse como nulo si se busca desde el inicio.
- opciones_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:
from aspose.cells import FindOptions, LookInType, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Opening the Excel file | |
workbook = Workbook(sourceDir + "sampleFindingCellsContainingFormula.xlsx") | |
# Accessing the first worksheet in the Excel file | |
worksheet = workbook.worksheets[0] | |
# Instantiate FindOptions Object | |
findOptions = FindOptions() | |
findOptions.look_in_type = LookInType.FORMULAS | |
# Finding the cell containing the specified formula | |
cell = worksheet.cells.find("=SUM(A5:A10)", None, findOptions) | |
# Printing the name of the cell found after searching worksheet | |
print("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:
- qué:, los datos o el valor a buscar.
- celda_anterior, la última celda que contenía el mismo valor. Este parámetro puede establecerse como nulo al buscar desde el inicio.
- opciones_busqueda, las opciones de búsqueda.
from aspose.cells import CellArea, FindOptions, LookAtType, LookInType, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate the workbook object | |
workbook = Workbook(sourceDir + "sampleFindingDataOrFormulasUsingFindOptions.xlsx") | |
workbook.calculate_formula() | |
# Get Cells collection | |
cells = workbook.worksheets[0].cells | |
# Instantiate FindOptions Object | |
findOptions = FindOptions() | |
# Create a Cells Area | |
ca = CellArea() | |
ca.start_row = 8 | |
ca.start_column = 2 | |
ca.end_row = 17 | |
ca.end_column = 13 | |
# Set cells area for find options | |
findOptions.set_range(ca) | |
# Set searching properties | |
findOptions.search_backward = False | |
findOptions.seach_order_by_rows = True | |
# Set the lookintype, you may specify, values, formulas, comments etc. | |
findOptions.look_in_type = LookInType.VALUES | |
# Set the lookattype, you may specify Match entire content, endswith, starwith etc. | |
findOptions.look_at_type = LookAtType.ENTIRE_CONTENT | |
# Find the cell with value | |
cell = cells.find(341, None, findOptions) | |
if cell != None: | |
print("Name of the cell containing the value: " + cell.name) | |
else: | |
print("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.look_in_type y FindOptions.look_at_type. 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.
from aspose.cells import FindOptions, LookAtType, LookInType, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiate the workbook object | |
workbook = Workbook(dataDir + "book1.xls") | |
# Get Cells collection | |
cells = workbook.worksheets[0].cells | |
opts = FindOptions() | |
opts.look_in_type = LookInType.VALUES | |
opts.look_at_type = LookAtType.ENTIRE_CONTENT | |
# Find the cell with the input integer or double | |
cell1 = cells.find(205, None, opts) | |
if cell1 != None: | |
print("Name of the cell containing the value: " + cell1.name) | |
else: | |
print("Record not found ") | |
# Find the cell with the input string | |
cell2 = cells.find("Items A", None, opts) | |
if cell2 != None: | |
print("Name of the cell containing the value: " + cell2.name) | |
else: | |
print("Record not found ") | |
# Find the cell containing with the input string | |
opts.look_at_type = LookAtType.CONTAINS | |
cell3 = cells.find("Data", None, opts) | |
if cell3 != None: | |
print("Name of the cell containing the value: " + cell3.name) | |
else: | |
print("Record not found ") |