2

J'essaie d'ajouter un fichier Excel contenant une formule référençant une feuille différente.Python xlsxwriter: Comment écrire une formule qui fait référence à une feuille différente

Dans cet exemple, j'essaie de copier le mot « monde » de la feuille 2 à feuille 1.

import xlsxwriter 

workbook = xlsxwriter.Workbook('hello.xlsx') 
sheet1 = workbook.add_worksheet(name='Sheet 1') 
sheet2 = workbook.add_worksheet(name='Sheet 2') 
sheet2.write(2,2,'world') 
sheet1.write(2,2,'hello') 
sheet1.write_formula('D3', "='Sheet 2'.C3") 

workbook.close() 

Le fichier XLSX résultant, lorsque openened, affiche le fomula dans minuscules. La formule ne fonctionne pas lorsque j'appuie sur Ctrl + Maj + F9 pour recalculer toutes les formules.

Si je tape la formule manuellement, cela fonctionne.

Est-il possible de référencer d'autres feuilles lors de la création de fichiers xlsxwriter Excel? J'utilise Open Office 5 pour afficher le fichier.

Répondre

1

La formule doit être dans la syntaxe US Excel, comme ce qui suit (note ! pas .):

sheet1.write_formula('D3', "='Sheet 2'!C3") 

Voir la section Working with Formulas des docs XlsxWriter.