Uppdatera referenser i andra arbetsblad samtidigt som tomma kolumner och rader tas bort i ett arbetsblad

Uppdatera referenser i andra arbetsblad samtidigt som tomma kolumner och rader tas bort i ett arbetsblad

Vänligen se följande exempelkod och dess konsolresultat. Cell E3 i det andra arbetsbladet har en formel =Sheet1!C3 som hänvisar till cell C3 i det första arbetsbladet. Om du ställer in DeleteOptions.update_reference egenskapen som true, kommer denna formel att uppdateras och bli =Sheet1!A1 när du tar bort tomma kolumner och rader i det första arbetsbladet. Om du däremot ställer in DeleteOptions.update_reference egenskapen som false, kommer formeln i cell E3 i det andra arbetsbladet att förbli =Sheet1!C3 och bli ogiltig.

Programmeringsexempel

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)

Konsoloutput

Detta är konsolresultatet av ovanstående exempelkod när DeleteOptions.update_reference egenskapen har ställts in som 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

Detta är konsolresultatet av ovanstående exempelkod när DeleteOptions.update_reference egenskapen har ställts in som false. Som du kan se har formeln i cell E3 på det andra arbetsbladet inte uppdaterats och dess cellvärde är nu 0 istället för 4, vilket är ogiltigt.

 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