import openpyxl import gradio as gr def create_main_app(): """メインアプリケーションを作成""" with gr.Blocks() as app: report_ui = CustomApp1() report_ui.create_interface() return app class CustomApp1: def increment(self, number_display): theme_dbs = openpyxl.load_workbook("demo_themeDB.xlsx", data_only=True) if "パークホームズ成城" in theme_dbs.sheetnames: theme_db = theme_dbs["パークホームズ成城"] else: theme_db = theme_dbs.create_sheet(title="パークホームズ成城") theme_db.append(["theme_key", "status", "id"]) theme_db.append(("1", "2", "3")) theme_dbs.save("demo_themeDB.xlsx") return number_display + 1 def create_interface(self): number_display = gr.Number(value=0, label="カウンター", interactive=False) button = gr.Button("増やす") # ボタンが押されたら increment() を実行して数値を更新 button.click(fn=self.increment, inputs=number_display, outputs=number_display) if __name__ == "__main__": app = create_main_app() app.launch(server_name="0.0.0.0", server_port=7862, share=True)