[ Foro de Python ]

Problema con openpyxl

08-Dec-2021 17:51
Invitado (Nacho)
0 Respuestas

Hola a todos y gracias de antemano por ayudarme con este problema.
Llevo poco tiempo en esto de la programacion y me ha surgido un problema al usar openpyxl.
Tengo una hoja de calculo en la cual  A1=25, B1=2 y D1=A1*B1, quiero que cuando cambio el valor de B1atraves de openpyxl tambien cambie el valor de D1, pero cuando abro el archivo excel veo que solo cambia el valor de B1 y la formula de D1 ha desaparecido.Os dejo  el codigo y el resultado.

Codigo.


import openpyxl
from openpyxl import Workbook
a=0
b=0
d=0
archivo=openpyxl.load_workbook("prueba.xlsx",data_only=True) #data_only se usa para que cargue los valores de la hoja y no las formulas
tramo=archivo.get_sheet_by_name("h")
a=tramo.cell(row=1,column=1).value
b=tramo.cell(row=1,column=2).value
d=tramo.cell(row=1,column=4).value
print (a,b,d)
tramo.cell(row=1, column=2).value=5
archivo.save(filename="prueba.xlsx")
tramo=archivo.get_sheet_by_name("h")
a=tramo.cell(row=1,column=1).value
b=tramo.cell(row=1,column=2).value
d=tramo.cell(row=1,column=4).value
print (a,b,d)


Resultado

C:\Users\Pc Lugones\Desktop\blunac\blunac2\prueba excel\excel.py:7: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
 tramo=archivo.get_sheet_by_name("h")
25 2 50
C:\Users\Pc Lugones\Desktop\blunac\blunac2\prueba excel\excel.py:14: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
 tramo=archivo.get_sheet_by_name("h")
25 5 50
[Finished in 2.3s]




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)