BIM : Preserve Spreadsheet structure (#26736)

Signed-off-by: Yash Suthar <yashsuthar983@gmail.com>
This commit is contained in:
Yash Suthar
2026-01-12 20:39:56 +05:30
committed by GitHub
parent 6584b0ea93
commit 7a99ccf5ff
2 changed files with 12 additions and 1 deletions

View File

@@ -687,7 +687,15 @@ class _ArchReport:
f"Report '{getattr(obj, 'Label', '')}': No target spreadsheet found.\n"
)
return
sp.clearAll()
# clear all the content of the spreadsheet
used_range = sp.getUsedRange()
if used_range:
sp.clear(f"{used_range[0]}:{used_range[1]}")
else:
FreeCAD.Console.PrintError(
f"Report '{getattr(obj, 'Label', '')}': Invalid cell address found, clearing spreadsheet.\n"
)
sp.clearAll()
# Reset the row counter for a new report build.
self.spreadsheet_current_row = 1

View File

@@ -1102,6 +1102,9 @@ PyObject* SheetPy::getUsedRange(PyObject* args)
return nullptr;
}
auto usedRange = getSheetPtr()->getCells()->getUsedRange();
if (!std::get<0>(usedRange).isValid()) {
Py_Return;
}
Py::Tuple pyTuple(2);
pyTuple[0] = Py::String(std::get<0>(usedRange).toString());
pyTuple[1] = Py::String(std::get<1>(usedRange).toString());