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.
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]
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]