Określiliśmy już wszystkie wartości parametrów konieczne do skonstruowania modelu i obliczenia numerów części. Ostatnia reguła, którą utworzymy, przekazuje numery części i inne wartości parametrów powiązane z tym plikiem do arkusza obliczeniowego Excel. Niektóre z tych numerów części znajdują się w komponencie iPart, natomiast ta reguła wygenerowała numer części śruby.
W regule update_excel_spreadsheet_rule wykorzystywany jest zestaw funkcji dostępnych w kategorii Excel Data Links w obszarze Szablony kodu w oknie dialogowym Edycja reguły.
 Dodaj nową regułę o nazwie update_excel_spreadsheet_rule.
Dodaj nową regułę o nazwie update_excel_spreadsheet_rule. Reguła ta wypełnia wymagane komórki w zależności od stanu modelu. W arkuszu kalkulacyjnym wszystkie komórki, do których przekazywane są dane, zostały nazwane tak, by odpowiadać zapisywanym informacjom.

GoExcel.CellValue("part_number.xls", "Sheet1", "Block_Type") = component_type
GoExcel.CurrentCellValue("Block_Style") = block
GoExcel.CurrentCellValue("Block_Part_Number") = iProperties.Value("manifold_block:1", "Project", "Part Number")
Ten fragment odnosi się do arkusza kalkulacyjnego part_number.xls dołączonego do tego ćwiczenia. Następnie określamy wartości komórek Block_Type, Block_Style i Block_Part_Number. Dwie pierwsze wartości są określane przez parametry zespołu, a ostatnia wartość przez właściwość iProperty Numer części bloku.

GoExcel.CurrentCellValue("port_a_size") = port_a_size
If block = "tee" Then
GoExcel.CurrentCellValue("port_b_size") = port_b_size
Else
GoExcel.CurrentCellValue("port_b_size") = "N/A"
End If
GoExcel.CurrentCellValue("port_c_size") = port_c_size
Zauważ, że w przypadku kolektora kolankowego używamy wartości zastępczej N/A.

GoExcel.CurrentCellValue("block_depth") = Parameter("manifold_block:1", "block_depth")
GoExcel.CurrentCellValue("block_width") = Parameter("manifold_block:1", "block_width")
GoExcel.CurrentCellValue("block_height") = Parameter("manifold_block:1", "block_height")
Zwróć uwagę na odniesienie do komponentu manifold_block:1 w tym fragmencie.

GoExcel.CurrentCellValue("port_a_union_cap") = port_a_union_part_number
GoExcel.CurrentCellValue("port_a_screw_kit") = port_a_screw_part_number
If block = "tee" Then
GoExcel.CurrentCellValue("port_b_union_cap") = port_b_union_part_number
GoExcel.CurrentCellValue("port_b_screw_kit") = port_b_screw_part_number
Else
GoExcel.CurrentCellValue("port_b_union_cap") = "N/A"
GoExcel.CurrentCellValue("port_b_screw_kit") = "N/A"
End If
GoExcel.CurrentCellValue("port_c_union_cap") = port_c_union_part_number
GoExcel.CurrentCellValue("port_c_screw_kit") = port_c_screw_part_number
Tak jak w przypadku parametru port_b_size we wcześniejszym fragmencie reguły, zauważ warunkowe podejście do wartości powiązanych z gniazdem Port B.

GoExcel.Save