I can open an excel file and see its content

This commit is contained in:
2025-12-07 17:46:39 +01:00
parent fde2e85c92
commit dc5ec450f0
5 changed files with 100 additions and 21 deletions

View File

@@ -25,6 +25,8 @@ class FileUploadState(DbObject):
self.ns_sheets_names: list | None = None
self.ns_selected_sheet_name: str | None = None
self.ns_file_content: bytes | None = None
self.ns_on_ok = None
self.ns_on_cancel = None
class Commands(BaseCommands):
@@ -49,11 +51,16 @@ class FileUpload(MultipleInstance):
super().__init__(parent, _id=_id, **kwargs)
self.commands = Commands(self)
self._state = FileUploadState(self)
self._state.ns_on_ok = None
def set_on_ok(self, callback):
self._state.ns_on_ok = callback
def upload_file(self, file: UploadFile):
logger.debug(f"upload_file: {file=}")
if file:
self._state.ns_file_content = file.file.read()
self._state.ns_file_name = file.filename
self._state.ns_sheets_names = self.get_sheets_names(self._state.ns_file_content)
self._state.ns_selected_sheet_name = self._state.ns_sheets_names[0] if len(self._state.ns_sheets_names) > 0 else 0
@@ -75,7 +82,9 @@ class FileUpload(MultipleInstance):
def get_content(self):
return self._state.ns_file_content
def get_file_name(self):
return self._state.ns_file_name
@staticmethod
def get_sheets_names(file_content):
@@ -104,7 +113,7 @@ class FileUpload(MultipleInstance):
self.mk_sheet_selector(),
cls="flex"
),
mk.dialog_buttons(),
mk.dialog_buttons(on_ok=self._state.ns_on_ok, on_cancel=self._state.ns_on_cancel),
)
def __ft__(self):