Aggiorna i riferimenti in altri fogli di lavoro mentre elimini colonne e righe vuote in un foglio di lavoro

Aggiorna i riferimenti in altri fogli di lavoro mentre elimini colonne e righe vuote in un foglio di lavoro

Per favore, guarda il seguente codice di esempio e il suo output sulla console. La cella E3 nella seconda tabella ha una formula =Sheet1!C3 che si riferisce alla cella C3 nella prima tabella. Se imposterai la proprietà DeleteOptions.update_reference su true, questa formula verrà aggiornata e diventerà =Sheet1!A1 eliminando colonne e righe vuote nella prima tabella. Tuttavia, se imposterai la proprietà DeleteOptions.update_reference su false, la formula nella cella E3 della seconda tabella rimarrà =Sheet1!C3 e diventerà non valida.

Esempio di programmazione

from aspose.cells import DeleteOptions, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Create workbook
wb = Workbook()
# Add second sheet with name Sheet2
wb.worksheets.add("Sheet2")
# Access first sheet and add some integer value in cell C1
# Also add some value in any cell to increase the number of blank rows and columns
sht1 = wb.worksheets[0]
sht1.cells.get("C1").put_value(4)
sht1.cells.get("K30").put_value(4)
# Access second sheet and add formula in cell E3 which refers to cell C1 in first sheet
sht2 = wb.worksheets[1]
sht2.cells.get("E3").formula = "'Sheet1'!C1"
# Calculate formulas of workbook
wb.calculate_formula()
# Print the formula and value of cell E3 in second sheet before deleting blank columns and rows in Sheet1.
print("Cell E3 before deleting blank columns and rows in Sheet1.")
print("--------------------------------------------------------")
print("Cell Formula: " + sht2.cells.get("E3").formula)
print("Cell Value: " + sht2.cells.get("E3").string_value)
# If you comment DeleteOptions.UpdateReference property below, then the formula in cell E3 in second sheet will not be updated
opts = DeleteOptions()
opts.update_reference = True
# Delete all blank rows and columns with delete options
sht1.cells.delete_blank_columns(opts)
sht1.cells.delete_blank_rows(opts)
# Calculate formulas of workbook
wb.calculate_formula()
# Print the formula and value of cell E3 in second sheet after deleting blank columns and rows in Sheet1.
print("")
print("")
print("Cell E3 after deleting blank columns and rows in Sheet1.")
print("--------------------------------------------------------")
print("Cell Formula: " + sht2.cells.get("E3").formula)
print("Cell Value: " + sht2.cells.get("E3").string_value)

Output della console

Questo è l’output sulla console del codice di esempio sopra quando la proprietà DeleteOptions.update_reference è stata impostata su true.

 Cell E3 before deleting blank columns and rows in Sheet1.

\--------------------------------------------------------

Cell Formula: =Sheet1!C1

Cell Value: 4


Cell E3 after deleting blank columns and rows in Sheet1.

\--------------------------------------------------------

Cell Formula: =Sheet1!A1

Cell Value: 4

Questo è l’output sulla console del codice di esempio sopra quando la proprietà DeleteOptions.update_reference è stata impostata su false. Come puoi vedere, la formula nella cella E3 della seconda tabella non viene aggiornata e il suo valore della cella è ora 0 invece di 4, il che è non valido.

 Cell E3 before deleting blank columns and rows in Sheet1.

\--------------------------------------------------------

Cell Formula: =Sheet1!C1

Cell Value: 4


Cell E3 after deleting blank columns and rows in Sheet1.

\--------------------------------------------------------

Cell Formula: =Sheet1!C1

Cell Value: 0