Configuración de fórmula compartida

Establecer fórmula compartida usando Aspose.Cells para Python via .NET

Supongamos que tienes una hoja de trabajo llena de datos con el formato que se muestra en la siguiente hoja de cálculo de ejemplo.

Archivo de entrada con una columna o datos
todo:image_alt_text

Deseas agregar una función en B2 que calcule el impuesto sobre las ventas para la primera fila de datos. El impuesto es 9%. La fórmula que calcula el impuesto sobre las ventas es: "=A2*0.09". Este artículo explica cómo aplicar esta fórmula con Aspose.Cells para Python via .NET.

Aspose.Cells para Python via .NET te permite especificar una fórmula usando la propiedad Cell.formula. Hay dos opciones para agregar fórmulas a las otras celdas (B3, B4, B5, etc.) en la columna.

Haz lo que hiciste para la primera celda, configurando efectivamente la fórmula para cada celda, actualizando la referencia de celda en consecuencia (A30.09, A40.09, A5*0.09, etc.). Esto requiere actualizar las referencias de celda para cada fila. También requiere que Aspose.Cells para Python via .NET analice cada fórmula individualmente, lo cual puede ser lento para hojas de cálculo grandes y fórmulas complejas. Además, agrega líneas adicionales de código aunque los bucles pueden reducirlo en cierta medida.

Otro enfoque es usar una fórmula compartida. Con una fórmula compartida, las fórmulas se actualizan automáticamente para las referencias de celda en cada fila para que el impuesto se calcule correctamente. El método Cell.set_shared_formula es más eficiente que el primer método.

El siguiente ejemplo demuestra cómo usarlo.

from aspose.cells import SaveFormat, 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 a Workbook from existing file
workbook = Workbook(dataDir + "source.xlsx")
# Get the cells collection in the first worksheet
cells = workbook.worksheets[0].cells
# Apply the shared formula in the range i.e.., B2:B14
cells.get("B2").set_shared_formula("=A2*0.09", 13, 1)
# Save the excel file
workbook.save(dataDir + "Output_out.xlsx", SaveFormat.XLSX)