Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from openpyxl import load_workbook, Workbook | |
| # Funci贸n para leer las columnas A y B del archivo Excel | |
| def leer_excel(ruta): | |
| wb = load_workbook(ruta) | |
| sheet = wb.active | |
| data = [] | |
| for row in sheet.iter_rows(min_row=2, max_col=2, values_only=True): # Solo las primeras dos columnas | |
| columna_a, columna_b = row | |
| if columna_a is not None and columna_b is not None: | |
| data.append([columna_a, columna_b]) | |
| return data | |
| # Funci贸n para agregar datos y guardar el archivo Excel modificado | |
| def agregar_y_guardar(data, nuevo_a, nuevo_b): | |
| # Cargar el archivo existente o crear uno nuevo | |
| wb = load_workbook('template_pcb.xlsx') | |
| sheet = wb.active | |
| # Agregar el nuevo valor al final del archivo Excel | |
| nueva_fila = [nuevo_a, nuevo_b] | |
| sheet.append(nueva_fila) | |
| # Guardar el archivo modificado con un nuevo nombre | |
| archivo_salida = "template_pcb_modificado.xlsx" | |
| wb.save(archivo_salida) | |
| return archivo_salida # Devolver la ruta del archivo guardado | |
| # Leer los datos iniciales del archivo Excel | |
| data = leer_excel('template_pcb.xlsx') | |
| # Crear la interfaz de Gradio | |
| def crear_formulario(data): | |
| with gr.Blocks() as demo: | |
| # Mostrar la tabla con los datos actuales | |
| tabla = gr.Dataframe(value=data, interactive=True, col_count=2, headers=["Columna A", "Columna B"], | |
| type="array", row_count=5) | |
| # Campos para agregar nuevos valores | |
| nuevo_a = gr.Textbox(label="Nuevo valor para Columna A") | |
| nuevo_b = gr.Textbox(label="Nuevo valor para Columna B") | |
| agregar_boton = gr.Button("Agregar nuevo valor y guardar Excel") | |
| # Campo para mostrar el enlace de descarga | |
| archivo_descarga = gr.File(label="Descargar archivo modificado") | |
| # Cuando se hace clic en el bot贸n, agrega los valores y guarda el Excel modificado | |
| agregar_boton.click( | |
| agregar_y_guardar, | |
| inputs=[tabla, nuevo_a, nuevo_b], | |
| outputs=archivo_descarga | |
| ) | |
| return demo | |
| # Crear la interfaz de Gradio | |
| demo = crear_formulario(data) | |
| # Lanzar la interfaz | |
| demo.launch() | |